VMS Help  —  CC  /STANDARD
     /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.
Close Help