Language standard features

The compiler fully supports the following language standards:
  • C++14 with some dependencies on hardware and version of AIX 1, 2 3
  • C++11 with some dependencies on hardware and version of AIX 1, 2
  • C++03
  • C++98
  • C11 with the exception of the atomics features
  • C99
  • C89
Notes:
  1. The compiler supports the C++11 atomics features as follows:
    • For POWER8® and POWER9™ architectures, the C++11 atomics features are fully supported.
    • For POWER4 to POWER7® architectures, atomic types based on integral types of size less than int, such as atomic<short>, are not supported.
  2. To use the C++11 thread-local storage feature, you must link and load against the pthread library available in AIX 7.2 onwards. Otherwise, the following messages will be issued when you:
    • Link with the AIX 7.1 pthread library:
      ld: 0711-317 ERROR: Undefined symbol: .__pt_atexit_np
    • Load against the AIX 7.1 pthread library:
      0509-136   Symbol __pt_atexit_np (number 10) is not exported from dependent 
      module /usr/lib/libpthreads.a(shr_xpg5.o).
  3. The C++14 support inherits the same hardware and AIX version dependencies as C++11.
  4. The sized deallocation feature is enabled only when -fsized-deallocation is in effect. The -fsized-deallocation option is not enabled by default.

For the support status of each C++11 and C++14 feature, and its corresponding C++ standards committee paper, see C++11 and C++14 feature support.