Portability and migration

The options in this category can help you maintain application behavior compatibility on past, current, and future hardware, operating systems and compilers, or help move your applications to an XL compiler with minimal change.
Table 1. Portability and migration options
Option name Equivalent pragma name Description
-qalign #pragma options align, #pragma align

Specifies the alignment of data objects in storage, which avoids performance problems with misaligned data.

-qalignrulefor (C++ only) None.

When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.

-qgenproto (C only) None.

Produces prototype declarations from K&R function definitions or function definitions with empty parentheses, and displays them to standard output.

-qnamemangling (C++ only) #pragma namemangling

Chooses the name mangling scheme for external symbol names generated from C++ source code.

-qobjmodel (C++ only) #pragma object_model

Sets the object model to be used for structures, unions, and classes.

-qoldpassbyvalue (C++ only) #pragma pass_by_value

Specifies how classes containing const or reference members are passed in function arguments.

-qupconv (C only) #pragma options upconv

Specifies whether the unsigned specification is preserved when integral promotions are performed.

-qvecnvol None.

Specifies whether to use volatile or non-volatile vector registers.