/STANDARD=(option) /STANDARD=RELAXED (equivalent to /NOSTANDARD) (D) /NOSTANDARD (D) Defines the compilation mode. You can select the following options: ANSI89 Places the compiler in strict ANSI C Standard 89 (C89) mode. This mode compiles the C language as defined by the American National Standard for C, along with any extensions not prohibited by that standard. C99 On OpenVMS Alpha and I64 systems, places the compiler in strict ISO/IEC C Standard 99 (C99) mode. This mode accepts just the C99 language without extensions, and diagnoses violations of the C99 standard. /STANDARD=C99 defines the __STDC_VERSION__ macro to the C99-specified value of 199901L, because C99 is a superset of Amendment 1 to the C89 standard, and the default mode of RELAXED is a superset of C99. On OpenVMS VAX systems, produces a warning and places the compiler in /STANDARD=RELAXED ANSI89 mode. LATEST On OpenVMS Alpha and I64 systems, places the compiler in the latest ISO C standard dialect. /STANDARD=LATEST is currently equivalent to /STANDARD=C99, but is subject to change when newer versions of the ISO C standard are released. RELAXED Places the compiler in relaxed ANSI C Standard mode. The compiler accepts ANSI/ISO C Standard C89 and C99 features, as well as nearly all language extensions (such as additional VSI C keywords and predefined macros that do not begin with an underscore). It excludes only K&R (COMMON mode), VAX C, and Microsoft features that conflict with standard C. This is the default mode of the compiler, and is equivalent to /NOSTANDARD. MS Places the compiler in Microsoft compatibility mode, which interprets source programs according to certain language rules followed by the C compiler provided with the Microsoft Visual C++ compiler product. ISOC94 Places the compiler in ISO C 94 mode, which enables digraph processing. It also defines the predefined macro __STDC_VERSION__=199409 when specified alone or in combination with the ANSI89, MIA, RELAXED, MS, COMMON, or PORTABLE keywords. This option can be specified alone or with any other /STANDARD option except VAXC. If it is specified alone, the default major mode is RELAXED. COMMON Places the compiler in K & R language mode; that is, compatibility with older UNIX compilers such as pcc and gcc. This mode is close to a subset of /STANDARD=VAXC mode. VAXC Places the compiler in VAX C mode. There are differences in the C language as implemented in previous versions of VAX C and the C language as defined by ANSI (the differences are primarily concerned with how the preprocessor works). This mode provides compatibility for programs that depend on old VAX C behavior. PORTABLE Places the compiler in RELAXED mode, and enables the issuance of diagnostics that warn of any nonportable usages encountered. Note that /STANDARD=PORTABLE is supported for VAX C compatibility only. It is equivalent to the recommended combination of qualifiers /STANDARD=RELAXED /WARNINGS=ENABLE=PORTABLE. MIA Places the compiler in strict ANSI C mode with the following behavior differences to conform to the Multivendor Integration Architecture (MIA) standard: o On OpenVMS VAX systems, G_FLOAT becomes the default floating-point format for double variables. (On OpenVMS Alpha systems, G_FLOAT is already the default.) o In structures, zero-length bit fields cause the next bit field to start on an integer boundary, rather than on a character boundary. If the /STANDARD qualifier is not specified, the default is /NOSTANDARD, which is equivalent to /STANDARD=RELAXED. If you specify the /STANDARD qualifier, you must supply an option. With one exception, the /STANDARD qualifier options are mutually exclusive. Do not combine them. The exception is that you can specify /STANDARD=ISOC94 with any other option except VAXC. VSI C modules compiled in different modes can be linked and executed together.