WARN0X | NOWARN0X (C++11)

Note: C++11 is a new version of the C++ programming language standard. IBM continues to develop and implement the features of the new standard. The implementation of the language level is based on IBM's interpretation of the standard. Until IBM's implementation of all the features of the C++11 standard is complete, including the support of a new C++ standard library, the implementation may change from release to release. IBM makes no attempt to maintain compatibility, in source, binary, or listings and other compiler interfaces, with earlier releases of IBM's implementation of the new features of the C++11 standard and therefore they should not be relied on as a stable programming interface.

Category

Error checking and debugging

Pragma equivalent

None.

Purpose

Generates messages about differences caused by migration from the C++98 standard to the C++11 standard.

Syntax

Read syntax diagramSkip visual syntax diagram
   .-NOWARN0X-.   
>>-+-WARN0X---+------------------------------------------------><

Defaults

NOWARN0X

Usage

This option controls whether to inform you with messages about differences in your programs caused by migration from the C++98 standard to the C++11 standard. For example, when LANGLVL(NOC99PREPROCESSOR) and WARN0X are specified, the C++11 preprocessor evaluates the controlling expressions in the #if and #elif conditional inclusion directives, and compares the evaluation results against that of the non-C++11 preprocessor. If they are different, the compiler issues a warning message.

When the WARN0X option is enabled, for each occurrence of the following keywords, the compiler issues a message if the corresponding C++11 features and keywords are disabled:
  • constexpr
  • decltype
  • static_assert
For example, when the WARN0X option is enabled, if you specify both the LANGLVL(NOSTATIC_ASSERT) and NOKEYWORD(static_assert) options, the compiler treats static_assert as an identifier token and issues the following message for each static_assert identifier it encounters:
C++0x will reserve "static_assert" as a keyword whose C++0x feature can 
be enabled by -qlanglvl=static_assert.

Predefined macros

None.