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               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.
Close Help