IBM Support

The C++14 language standard is fully supported by XL C/C++ for Linux 16.1.1 Fix Pack 8

General Page

In XL C/C++ for Linux 16.1.1 Fix Pack 7 and earlier releases, the compiler supports only a subset of C++14 standard features. Starting from XL C/C++ for Linux 16.1.1 Fix Pack 8, the compiler fully complies with the C++14 language standard. 
When you use C++14 features in XL C/C++ for Linux 16.1.1 Fix Pack 8,  pay attention to the following constraints and option usages:
  • The -std=c++14 option is officially supported starting from XL C/C++ for Linux 16.1.1 Fix Pack 8, and you can specify this option to invoke all C++14 language features.
  • In XL C/C++ for Linux 16.1.1 Fix Pack 8, when you specify -std=c++14(recommended), -std=c++1y, or -qlanglvl=extended1y option to enable C++14 support, the  __cplusplus macro is predefined to 201402L. In XL C/C++ for Linux 16.1.1 Fix Pack 7 and earlier releases, the __cplusplus macro is not predefined to 201402L when c++14 support is enabled; you have to specify the -qxflag=disable__cplusplusOverride or -D __cplusplus=201402L option to predefine the __cplusplus macro to 201402L. In XL C/C++ for Linux 16.1.1 Fix Pack 8, to restore the predefined value of the __cplusplus macro for XL C/C++ for Linux 16.1.1 Fix Pack 7 and earlier releases, specify the -qxflag=Override__cplusplus option.
  • Compiler support for language features that have C++ library requirements is dependent on the GCC C++ library on the Linux distribution.
  • The sized deallocation feature is enabled only when the -fsized-deallocation option is in effect. The -fsized-deallocation option is not enabled by default.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSXVZZ","label":"XL C\/C++ for Linux"},"ARM Category":[{"code":"a8m0z00000007u2AAA","label":"C\/C++->Compiler"}],"ARM Case Number":"","Platform":[{"code":"PF016","label":"Linux"}],"Version":"16.1.1","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}}]

Document Information

Modified date:
11 September 2020

UID

ibm16233264