-qxlcompatmacros
Category
Pragma equivalent
None
Purpose
The option -qxlcompatmacros controls definition of the following legacy macros: __xlC__, __xlC_ver__, __IBMCPP__, __IBMC__, and __xlc__.
For releases starting from IBM® XL C/C++ for Linux, V16.1, the default is -qnoxlcompatmacros. However, compared with earlier versions, this may have impacts on configuring make files with IBM XL C/C++ for Linux for little endian distributions, as both __clang__ and __gcc__ macros are also defined.
You may need to use the -qxlcompatmacros option under these circumstances:
- when you migrate programs from IBM XL C/C++ for AIX® to IBM XL C/C++ for Linux for little endian distributions;
- when you migrate programs from IBM XL C/C++ for Linux for big endian distributions to IBM XL C/C++ for Linux for little endian distributions;
- when you migrate programs from earlier versions of XL C/C++ for little endian distributions to the latest.
Alternatively, you can change instances of the legacy maros to __ibmxl__, which is always defined in all versions of XL C/C++ for Linux for little endian distributions.
Defaults
-qnoxlcompatmacrosPredefined macros
The following macros are defined when the -qxlcompatmacros option is in effect; otherwise, they are undefined.
- __IBMCPP__
- __IBMC__
- __xlc__
- __xlC__
- __xlC_ver__