XL C/C++ and AIX and Linux is now available:
XL C/C++ for AIX and Linux, V13.1 Now Released!
We're happy to announce the release of the XL C/C++ for AIX, V13.1 and XL C/C++ for Linux, V13.1 compilers! The V13.1 release delivers POWER8 exploitation and new compiler and language features.
From the announcement details:
IBM® XL C/C++ for Linux™ is a standards-based, high performance C/C++ compiler with advanced optimizing features. XL C/C++ for Linux, V13.1 delivers a number of new features and enhancements:
- Exploitation of the latest IBM POWER8™ architecture
- Support for additional features in C11 and C++11, the current standards for the C and C++ programming languages
- Partial support for the OpenMP 4.0 industry specification
- Compile and runtime performance improvements
- Additional performance options
- New program diagnostics and error detection features
...
C++11 programming standard
C++11 is the latest standard for the C++ programming language, published as ISO/IEC 14882:2011. With V13.1, partial support for the C++11 standard continues with the implementation of the following features:
Defaulted and deleted functions
This feature introduces two new forms of function declarations to define explicitly defaulted functions and deleted functions. For the explicitly defaulted functions, the compiler generates the default implementations, which are more efficient than manually programmed implementations. The compiler disables the deleted functions to avoid calling unwanted functions.
You can use the
-qlanglvl=defaultanddelete
option to enable this feature.Generalized constant expressions
The generalized constant expressions feature extends the set of expressions permitted within constant expressions. The implementation of this feature in XL C/C++ V12.1 was a partial implementation of what is defined in the C++11 standard. In this release, enhancements are made to support user-defined
constexpr
objects andconstexpr
pointers or references toconstexpr
functions and objects.You can use the
-qlanglvl=constexpr
option to enable this feature.The nullptr keyword
This feature introduces
nullptr
as a null pointer constant. Thenullptr
constant can be distinguished from integer0
for overloaded functions. The constants of0
andNULL
are treated as the integer type for overloaded functions, whereasnullptr
can be implicitly converted to only the pointer type, pointer-to-member type, andbool
type.You can use the
-qlanglvl=nullptr
option to enable this feature.
Add a Comment
Comments are closed.