Language support

This topic discusses the support for language standard features and IBM extension features in IBM Open XL C/C++ for AIX 17.1.3.

Language standard features

IBM Open XL C/C++ for AIX 17.1.3 incorporates the LLVM and Clang compiler infrastructure. IBM Open XL C/C++ for AIX 17.1.3 supports all of the -std options that are available in the LLVM Clang compiler on which it is based, all C language specifications up to and including C17, and all C++ language specifications up to and including C++17. Additionally, IBM Open XL C/C++ for AIX 17.1.3 offers experimental availability of C++20 features. Refer to Enhanced LLVM and Clang support for more information of LLVM and Clang.

Note: C++ library features that are newer than C++14 might not be available in IBM Open XL C/C++ for AIX 17.1.3.

IBM extension features

IBM Open XL C/C++ for AIX 17.1.3 does not support all IBM extension features that are supported by IBM® XL C/C++ for AIX® 16.1.0 or earlier releases. For details of the IBM extension features, refer to the Language Reference of IBM XL C/C++ for AIX 16.1.0 or earlier releases.

The constructor and destructor function attributes
When you invoked IBM XL C/C++ for AIX 16.1.0 using the xlclang or xlclang++ invocation command, the constructor and destructor function attributes applied to the following types of programs:
  • C++ programs
  • C programs if they are linked using a C++ link invocation command

IBM Open XL C/C++ for AIX 17.1.3 supports constructor and destructor function attributes in both C and C++ programs.