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