Object code control

These options affect the characteristics of the object code, preprocessed code, or other output generated by the compiler.

Table 1. Object code control options
Option name Equivalent pragma name Description
-q32, -q64 None.

Selects either 32-bit or 64-bit compiler mode.

-qalloca, -ma (C only) #pragma alloca

Provides an inline definition of system function alloca when it is called from source code that does not include the alloca.h header.

-qcommon None.

Controls where uninitialized global variables are allocated.

-qeh (C++ only) None.

Controls whether exception handling is enabled in the module being compiled.

-qinlglue #pragma options inlglue

When used with -O2 or higher optimization, inlines glue code that optimizes external function calls in your application.

-qpic None.

Generates Position-Independent Code suitable for use in shared libraries.

-qppline None.

When used in conjunction with the -E or -P options, enables or disables the generation of #line directives.

-qpriority (C++ only) #pragma options priority, #pragma priority

Specifies the priority level for the initialization of static objects.

-qproto (C only) #pragma options proto

Specifies the linkage conventions for passing floating-point arguments to functions that have not been prototyped.

-r None.

Produces a nonexecutable output file to use as an input file in another ld command call. This file may also contain unresolved symbols.

-qreserved_reg None.

Indicates that the given list of registers cannot be used during the compilation except as a stack pointer, frame pointer or in some other fixed role.

-qro #pragma options ro, #pragma strings

Specifies the storage type for string literals.

-qroconst #pragma options roconst

Specifies the storage location for constant values.

-qrtti (C++ only) None.

Generates runtime type identification (RTTI) information for exception handling and for use by the typeid and dynamic_cast operators.

-s None.

Strips the symbol table, line number information, and relocation information from the output file.

-qsaveopt None.

Saves the command-line options used for compiling a source file, the user's configuration file name and the options specified in the configuration files, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file.

-qstackprotect None.

Provides protection against malicious code or programming errors that overwrite or corrupt the stack.

-qstatsym None.

Adds user-defined, nonexternal names that have a persistent storage class, such as initialized and uninitialized static variables, to the symbol table of the object file.

-qtbtable #pragma options tbtable

Controls the amount of debugging traceback information that is included in the object files.

-qthreaded None.

Indicates to the compiler whether it must generate threadsafe code.

-qtls None.

Enables recognition of the __thread storage class specifier, which designates variables that are to be allocated threadlocal storage; and specifies the threadlocal storage model to be used.

-qvrsave #pragma altivec_vrsave

Enables code in function prologs and epilogs to maintain the VRSAVE register.

-qxcall None.

Generates code to treat static functions within a compilation unit as if they were external functions.