Migrating from GCC to XL C/C++
When you migrate programs from GCC to V13.1.2
or later releases of XL C/C++ for Linux for little endian distributions, it is recommended that
you use the -qnoxlcompatmacros option to undefine
legacy macros __IBMCPP__, __xlC__, __xlC_ver__, __IBMC__, and __xlc__.
Migrating applications that use transactional memory built-in functions
Starting from IBM® XL
C/C++ for Linux, V13.1.2, to use transactional memory built-in functions, you must
include a header file in the source code. In addition, if you used
numeric return values of the transaction begin and end built-in functions,
you must replace numeric return values with macro return values that
are provided by IBM XL
C/C++ for Linux, V13.1.3.
Mixing object files compiled with different compilers
Most object files that were compiled with different compilers
can be linked together. However, under some circumstances, object
files are not compatible and must be recompiled.