XL C/C++ for AIX - Compatibility With Earlier Versions
Preventive Service Planning
IBM XL C/C++ for AIX is compatible with earlier versions of the XL C/C++ compiler; therefore, objects and libraries built with earlier versions of the compiler can be used in applications compiled with later versions of the compiler, with one exception.
Objects and libraries built with older releases of IBM XL C/C++ for AIX can be used and linked with applications compiled with newer releases. For example, a static library compiled with XL C/C++ for AIX, V11.1 can be successfully linked with an application compiled with XL C/C++ for AIX, V13.1.3.
The only exception is that if any objects or libraries use the OpenMP threadprivate variables and are compiled with XL C/C++ for AIX, V10.1 or earlier, then any applications that use the same threadprivate variables in those objects or libraries and are compiled with V11.1 or later must be compiled with the -qsmp=noostls option.
Objects and libraries built with V11.1 or later do not have this issue. The Backward compatibility issues section in the product documentation provides additional details about this issue.
In special cases, additional compatibility consideration should be given to applications making use of the C++ -qnamemangling and -qobjmodel options.