This topic lists the options that provide new functionality in this release.
Some compiler options are only available on certain systems, as indicated by these labels:
Label | Meaning |
---|---|
i32 | The option is available on IA-32-based systems. |
i32em | The option is available on IA-32-based systems with Intel® Extended Memory 64 Technology (Intel® EM64T). |
i64 | The option is available on Itanium®-based systems. |
If no label appears, the option is available on all supported systems.
If "only" appears in the label, the option is only available on the identified system.
For more details on the options, refer to the Alphabetical Compiler Options section.
For information on conventions used in this table, see Notation Conventions.
New compiler options are listed in three tables below:
The first table lists new options that are available on Windows systems.
The second table lists new options that are available on Linux and Mac OS systems. If an option is only available on one of these operating systems, it is labeled.
Windows* Options | Description | Default |
---|---|---|
/G2-p9000 (i64 only) |
Optimizes for Dual-Core Intel® Itanium® 2 Processor 9000 Sequence processors. | OFF |
/QaxT (i32, i32em) |
Optimizes for Intel® Core™2 Duo processors, Intel® Core™2 Extreme processors, and the Dual-Core Intel® Xeon® processor 5100 series. | OFF |
/QdD | Same as /QdM, but outputs #define directives in preprocessed source. | OFF |
/QdM | Outputs macro definitions in effect after preprocessing. | OFF |
/QdN | Same as /QdD, but #define directives contain only macro names. | OFF |
/Qinline-factor=<n> | Specifies the percentage multiplier that should be applied to all inlining options that define upper limits. | OFF |
/Qinline-forceinline | Specifies that an inline routine should be inlined whenever the compiler can do so. | OFF |
/Qinline-max-per-compile=<n> | Specifies the maximum number of times inlining may be applied to an entire compilation unit. | OFF |
/Qinline-max-per-routine=<n> | Specifies the maximum number of times the inliner may inline into a particular routine. | OFF |
/Qinline-max-size=<n> | Specifies the lower limit for the size of what the inliner considers to be a large routine. | OFF |
/Qinline-max-total-size=<n> | Specifies how much larger a routine can normally grow when inline expansion is performed. | OFF |
/Qinline-min-size=<n> | Specifies the upper limit for the size of what the inliner considers to be a small routine. | OFF |
/Qopt-mem-bandwidth<n> (i64 only) |
Enables performance tuning and heuristics that control memory bandwidth use among processors. | /Qopt-mem-bandwidth0 for serial compilation;/Qopt-mem-bandwidth1 for parallel compilation |
/Qsafeseh[-] | Registers exception handlers for safe exception handling. | ON |
/Qvc8 | Specifies compatibility with Microsoft* Visual Studio 2005. | OFF |
/QxT (i32, i32em) |
Optimizes for Intel® Core™2 Duo processors, Intel® Core™2 Extreme processors, and the Dual-Core Intel® Xeon® processor 5100 series. | OFF |
Linux* and Mac OS* Options | Description | Default |
---|---|---|
-axT (i32, i32em) |
Optimizes for Intel® Core™2 Duo processors, Intel® Core™2 Extreme processors, and the Dual-Core Intel® Xeon® processor 5100 series. | OFF |
-dD | Same as -dM, but outputs #define directives in preprocessed source. | OFF |
-dM | Outputs macro definitions in effect after preprocessing. | OFF |
-dN | Same as -dD, but #define directives contain only macro names. | OFF |
-dumpversion | Displays the compiler version number only. | OFF |
-dynamiclib (i32 only; Mac OS only) |
Invokes the libtool command to generate dynamic libraries. | OFF |
-early-template-check | Lets you semantically check template function template prototypes before instantiation. | -no-early-template-check |
-F (i32 only; Mac OS only) |
Adds a framework directory to the head of the include file search path. | OFF |
-fargument-alias | Same as -alias-args. | ON |
-finline-limit=n | Lets you specify the maximum size of a function to be inlined. | OFF |
-f[no-]non-lvalue-assign | Allows or disallows casts and conditional expressions to be used as lvalues. | -fnon-lvalue-assign |
-fvisibility-inlines-hidden | Causes inline member functions to be marked as hidden. | OFF |
-fpascal-strings (i32 only; Mac OS only) |
Permits Pascal-style string literals. | OFF |
-inline-factor=<n> | Specifies the percentage multiplier that should be applied to all inlining options that define upper limits. | OFF |
-inline-forceinline | Specifies that an inline routine should be inlined whenever the compiler can do so. | OFF |
-inline-max-per-compile=<n> | Specifies the maximum number of times inlining may be applied to an entire compilation unit. | OFF |
-inline-max-per-routine=<n> | Specifies the maximum number of times the inliner may inline into a particular routine. | OFF |
-inline-max-size=<n> | Specifies the lower limit for the size of what the inliner considers to be a large routine. | OFF |
-inline-max-total-size=<n> | Specifies how much larger a routine can normally grow when inline expansion is performed. | OFF |
-inline-min-size=<n> | Specifies the upper limit for the size of what the inliner considers to be a small routine. | OFF |
-iquote <dir> | Adds a directory to the front of the include file search path for files included with quotes, but not brackets. | OFF |
-isystem<dir> | Specifies a directory to add to the start of the system include path. | OFF |
-malign-mac68k (i32 only; Mac OS only) |
Aligns structure fields on 2-byte boundaries (m68k compatible). | -malign-power |
-malign-natural (i32 only; Mac OS only) |
Aligns larger types on natural size-based boundaries (overrides ABI). | -malign-power |
-malign-power (i32 only; Mac OS only) |
Aligns data based on ABI-specified alignment rules (default). | ON |
-mcmodel=<mem_model> (i32em only; Linux only) |
Tells the compiler to use a specific memory model to generate code and store data. | -mcmodel=small |
-mcpu itanium2-p9000 (i64 only; Linux only) |
Optimizes for Dual-Core Intel® Itanium® 2 Processor 9000 Sequence processors. | OFF |
-mtune itanium2-p9000 (i64 only; Linux only) |
Optimizes for Dual-Core Intel® Itanium® 2 Processor 9000 Sequence processors. | OFF |
-opt-mem-bandwidth<n> (i64 only; Linux only) |
Enables performance tuning and heuristics that control memory bandwidth use among processors. | /opt-mem-bandwidth0 for serial compilation; /opt-mem-bandwidth1 for parallel compilation |
-xT (i32, i32em) |
Optimizes for Intel® Core™2 Duo processors, Intel® Core™2 Extreme processors, and the Dual-Core Intel® Xeon® processor 5100 series. | OFF |