/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 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. LATEST 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 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.