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.

Voice your opinion on getting help information Ask IBM compiler experts a technical question in the IBM XL compilers forum Reach out to us