-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__



