Standard features
The compiler fully supports the following language standards:
- C++11
- C++03
- C++98
- C11
- C99
- C89
Note: The compiler fully supports _Thread_local and partially supports atomics, which are optional
C11 features. For atomics, the compiler does not support the following
data types:
- Atomic floating point types
- Atomic complex and vector types
- Atomic structure types that are packed through pragmas, attributes, or options
Besides these standards, the compiler also supports the following C++14 features:
C++14
features
Note: IBM supports selected features of
C++14 standard. IBM will continue to develop and implement the features of this
standard. The implementation of the language level is based on IBM's
interpretation of the standard. Until IBM's implementation of all
the C++14 features is complete, including the support of a new C++14
standard library, the implementation might 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 C++14 features.
- Binary integer literals
- Digit separators
- Polymorphic lambda expressions
- Relaxing constraints on constexpr functions
- Return type deduction for normal functions
- The deprecated attribute
- Variable templates
Note: Compiler support for language features that have runtime
library requirements is dependent on the GCC runtime library on the Linux distribution.