New or changed compiler options and directives

Compiler options can be specified on the command line or through directives embedded in your application source files. See the XL C/C++ Compiler Reference for detailed descriptions and usage information for these and other compiler options.

Table 1. New or changed compiler options and directives
Option/directive Description
-qstrict Many suboptions have been added to the -qstrict option to allow more control over optimizations and transformations that violate strict program semantics. See Performance and optimization for more information.
-qshowmacros When used in conjunction with the -E option, the -qshowmacros option replaces preprocessed output with macro definitions. There are suboptions provided to control the emissions of predefined and user-defined macros more precisely.
-qreport When used together with compiler options that enable automatic parallelization or vectorization, the -qreport option now reports the number of streams in a loop and produces information when loops cannot be SIMD vectorized due to non-stride-one references.
-qnamemangling There is a new namemangling scheme for this release.
-qsmp When -qsmp=omp is in effect, the additional functionality of OpenMP API 3.0 is now available. For more information, see OpenMP 3.0.
#pragma init and #pragma fini

Programmers can use #pragma init and #pragma fini to specify a list of functions to run before or after main() or when shared libraries are loaded or unloaded. These functions can be used to do initialization and cleanup.

Note: A C++ invocation, such as xlC or the redistributable tools linkxlC or makeC++SharedLib must be used at link time.
-qtimestamps This option can be used to remove timestamps from generated binaries.
-qtls The thread local storage support has been enhanced to include __attribute__((tls-model("string"))) where string is one of local-exec, initial-exec, local-dynamic, or global-dynamic.
-qinfo The suboptions als and noals have been added to the qinfo option to report (or not report) possible violations of the ANSI aliasing rule.
-qunique -qunique now applies to both C and C++.