[cfarm-users] Where did XL C/C++ predefined macros go on GCC112?

Jeffrey Walton noloader at gmail.com
Tue Jul 31 03:42:41 CEST 2018


On Mon, Jul 30, 2018 at 9:33 PM, Paul Hargrove <phhargrove at lbl.gov> wrote:
> XL for little-endian is essentially a difference beast than prior compilers
> with the XL name.
> So, IBM changed the identification macros.
> See the following two docs for more info:
>
> https://www.ibm.com/support/knowledgecenter/en/SSXVZZ_13.1.6/com.ibm.xlcpp1316.lelinux.doc/compiler_ref/opt_qxlcompatmacros.html
> https://www.ibm.com/support/knowledgecenter/en/SSXVZZ_13.1.6/com.ibm.xlcpp1316.lelinux.doc/compiler_ref/xlmacros.html
>
> TL;DR: You can "bring them back" with -qxlcompatmacros

Thanks Paul.

This is frightening and explains the failure:

    C/C++ for Linux for little endian distributions, as both
    __clang__ and __gcc__ macros are also defined.

More of those stupid LLVM games where they pretend to be another
compiler and then fail to compile the program. Case in point - the
machinery is defining __GNUC__ but can't compile the program when it
states the configuration.

LLVM has screwed us on nearly every platform we support. I suppose
Solaris is next.

Jeff


More information about the cfarm-users mailing list