Resolving Conflicting Compiler Options

In general, if more than one variation of the same option is specified (with the exception of xref and attr), the compiler uses the setting of the last one specified. Compiler options specified on the command line must appear in the order you want the compiler to process them.

If a command-line flag is valid for more than one compiler program (for example -B, -W, or -I applied to the compiler, linkage editor, and assembler program names), you must specify it in cppopt, codeopt, inlineopt, ldopt, or asopt in the configuration file. The command-line flags must appear in the order that they are to be directed to the appropriate compiler program.

Two exceptions to the rules of conflicting options are the -Idirectory and -Ldirectory options, which have cumulative effects when they are specified more than once.

In most cases, conflicting or incompatible options are resolved according to the precedence shown in the following figure:

Most options that do not follow this scheme are summarized in the following table.

Option Conflicting Options Resolution
halt Severity specified Lowest severity specified.
-qnoprint xref|attr|source|listopt|list -qnoprint
-qfloat=rsqrt -qnoignerrno Last option specified
xref xref=FULL xref=FULL
attr attr=FULL attr=FULL
-p |-pg |-qprofile -p |-pg |-qprofile Last option specified
hsflt rndsngl|spnans hsflt
hssngl rndsngl|spnans hssngl
-E -P|-o|-S -E
-P -c|-o|-S -P
-# -v -#
-F -B|-t|-W|-qpath|configuration file settings -B|-t|-W|-qpath
-qpath -B|-t -qpath overrides -B and -t
-S -c -S

Specify Compiler Options for Architecture-Specific, 32- or 64-bit Compilation