VMS Help
CXX, Qualifiers, /STANDARD

 *Conan The Librarian

       /STANDARD
       /STANDARD=(option)
       /STANDARD=RELAXED (D)

    The compiler implements the International ANSI C++ Standard. The
    /STANDARD qualifier directs the compiler to interpret source code
    according to certain nonstandard syntax conventions followed by
    other implementations of the C++ language. The options are:

    Option    Usage

    RELAXED   Allow language constructs required by the International
              ANSI C++ Standard. This mode also supports some
              non-ANSI extensions and issues messages for some
              nonstandard usage that does not strictly comply with
              the standard. This is the default compiler mode. This
              option also defines the macro __STD_ANSI. Please note
              that ANSI is accepted as a synonym for RELAXED to be
              compatible with previous C++ versions.
    ARM       Minimize source changes when compiling programs
              developed using Version 5.n. This option also defines
              the macro __STD_ARM. The /STANDARD=ARM qualifier uses
              the pre-ansi AT&T version of the iostream library and
              defines the macro __NO_USE_STD_IOSTREAM.
    CFRONT    As of HP C++ Version 7.1, support for /STANDARD=CFRONT
              is retired.
    GNU       Use this option if you want to compile programs
              developed using the GNU C++ compiler. This option
              also defines the __STD_GNU macro. The /STANDARD=GNU
              qualifier uses the pre-ansi AT&T version of the
              iostream library and defines the macro __NO_USE_
              STD_IOSTREAM. The following changes in behavior are
              provided for compatibility with the GNU C++ compiler:

              o  These options are enabled by default:

                    /ALTERNATIVE_TOKENS
                    /TEMPLATE_DEFINE=LOCAL
                    /NOIMPLICIT_INCLUDE

              o  Access control is not enforced for types defined
                 inside a class.

              o  Unrecognized character escape sequences in string
                 literals produce an informational instead of a
                 warning message.

              o  The __INLINE keyword is enabled and is equivalent to
                 inline.

              o  The severity of the error "incompatible parameter"
                 (tag incompatibleprm) is reduced to warning.

              o  When overloading, enum types are treated as integral
                 types.

              The following known incompatibility is not addressed in
              the /STANDARD=GNU mode:

              o  The compiler strictly enforces the requirement
                 to define functions before they are used. This
                 requirement also applies to built-in functions such
                 as strlen.

    MS        Allow language constructs supported by the Visual C++
              compiler. This option also defines the macro __STD_
              MS. The /STANDARD=MS qualifier uses the pre-ansi AT&T
              version of the iostream library and defines the macro
              __NO_USE_STD_IOSTREAM.
    STRICT_   Enforce the ANSI standard strictly but permit some ANSI
    ANSI      violations that should be errors to be warnings. This
              option also defines the macro __STD_STRICT_ANSI. To
              force ANSI violations to be issued as errors instead
              of warnings, use /WARNINGS=ANSI_ERRORS in addition to
              /STANDARD=STRICT_ANSI. This combination defines the
              macro __STD_STRICT_ANSI_ERRORS. The /STANDARD=STRICT_
              ANSI qualifier uses the ANSI/ISO standard version of
              the iostream library and defines the macro __USE_STD_
              IOSTREAM.
    LATEST    Latest C++ standard dialect (Alpha, I64).
              /STANDARD=LATEST is currently equivalent to
              /STANDARD=STRICT_ANSI, but is subject to change when
              newer versions of the C++ standard are released.

    For more information on the effect of the /STANDARD qualifier on
    HP C++ compile-time error checking, "Compiler Compatibility" in
    the HP C++ User's Guide for OpenVMS Systems.
  Close     Help