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 systems using IA-32 architecture. |
i64em | The option is available on systems using IntelŪ 64 architecture. |
i64 | The option is available on systems using IA-64 architecture. |
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 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* X systems. If an option is only available on one of these operating systems, it is labeled.
Windows* Options | Description | Default |
---|---|---|
/assume:[no]old_boz | Determines whether the binary, octal, and hexadecimal constant arguments in the intrinsic functions INT, REAL, DBLE, and CMPLX are treated as signed integer constants. | /assume:noold_boz |
/assume:[no]old_unit_star | Determines whether READs or WRITEs to UNIT=* go to stdin or stdout, respectively. | /assume:old_unit_star |
/assume:[no]old_xor | Determines whether .XOR. is defined by the compiler as an intrinsic operator. | /assume:old_xor |
/assume:[no]realloc_lhs | Determines whether allocatable objects on the left hand side of an assignment are treated according to Fortran 95/90 rules or Fortran 2003 rules. | /assume:norealloc_lhs |
/assume:[no]std_mod_proc_name | Determines whether the names of module procedures are allowed to conflict with user external symbol names. | /assume:nostd_mod_proc_name |
/check:[no]pointers | Determines whether checking occurs for certain disassociated or uninitialized pointers or unallocated allocatable objects. | /check:nopointers |
/heap-arrays[:size] | Puts automatic arrays and arrays created for temporary computations on the heap instead of the stack. | OFF |
/help [category] | Displays all available compiler options or a category of compiler options. | OFF |
/QaxS (i32, i64em) |
Can generate specialized code paths using IntelŪ Streaming SIMD Extensions 4 (SSE4) Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instruction set and it can optimize for the architecture. | OFF |
/Qdiag-type:diag-list | Controls the display of diagnostic information. | OFF |
/Qdiag-dump | Tells the compiler to print all enabled diagnostic messages and stop compilation. | OFF |
/Qdiag-enable:sv-include | Tells the Static Verifier to analyze include files and source files when issuing diagnostic message. | OFF |
/Qdiag-file[:file] | Causes the results of diagnostic analysis to be output to a file. | OFF |
/Qdiag-file-append[:file] | Causes the results of diagnostic analysis to be appended to a file. | OFF |
/Qdiag-id-numbers[-] | Tells the compiler to display diagnostic messages by using their ID number values. | ON |
/Qfnalign[:n] (i32, i64em) |
Tells the compiler to align functions on an optimal byte boundary. | /Qfnalign- |
/Qfp-speculation=mode | Tells the compiler the mode in which to speculate on floating-point operations. | /Qfp-speculation=fast |
/Qinline-dllimport[-] | Determines whether dllimport functions are inlined. | /Qinline-dllimport |
/Qinstrument-functions[-] | Determines whether function entry and exit points are instrumented. | /Qinstrument-functions- |
/Qipo-jobs:n | Specifies the number of commands to be executed simultaneously during the link phase of Interprocedural Optimization (IPO). | /Qipo-jobs:1 |
/Qkeep-static-consts[-] | Tells the compiler to preserve allocation of variables that are not referenced in the source. | /Qkeep-static-consts- |
/Qopenmp-lib:type | Lets you specify an OpenMP* run-time library to use for linking. | /Qopenmp-lib:legacy |
/Qopt-multi-version-aggressive[-] (i32, i64em) |
Tells the compiler to use aggressive multi-versioning to check for pointer aliasing and scalar replacement. | /Qopt-multi-version-aggressive- |
/Qopt-ra-region-strategy[:keyword] (i32, i64em) |
Selects the method that the register allocator uses to partition each routine into regions. | /Qopt-ra-region-strategy:default |
/Qopt-streaming-stores (i32, i64em) |
Enables generation of streaming stores for optimization. | /Qopt-streaming-stores:auto |
/Qpar-adjust-stack:n (i32, i64em) |
Tells the compiler to generate code to adjust the stack size for a fiber-based main thread. | /Qpar-adjust-stack:0 |
/Qpar-runtime-control[-] | Generates code to perform run-time checks for loops that have symbolic loop bounds. | /Qpar-runtime-control- |
/Qpar-schedule-keyword[[:]n] | Specifies a scheduling algorithm for DO loop iterations. | OFF |
/Qsave-temps[-] | Tells the compiler to save intermediate files created during compilation. | .obj files are saved |
/Qtcollect | Inserts instrumentation probes calling the IntelŪ Trace Collector API. | OFF |
/Qtprofile | Generates instrumentation to analyze multi-threading performance. | OFF |
/Qunroll-aggressive[-] (i32, i64em) |
Tells the compiler to use aggressive, complete unrolling for loops with small constant trip counts. | /Qunroll-aggressive- |
/Qvec-guard-write[-] (i32, i64em) |
Tells the compiler to perform a conditional check in a vectorized loop. | /Qvec-guard-write- |
/QxO (i32, i64em) |
Can generate SSE3, SSE2, and SSE instructions, and it can optimize for Intel processors based on IntelŪ Core™ microarchitecture and Intel NetburstŪ microarchitecture. | OFF |
/QxS (i32, i64em) |
Can generate SSE4 Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instructions. | OFF |
/stand:f03 or /std03 | Causes the compiler to issue messages for language elements that are not standard in Fortran 2003. | /nostand |
Linux* and Mac OS* X Options | Description | Default |
---|---|---|
-assume [no]old_boz | Determines whether the binary, octal, and hexadecimal constant arguments in intrinsic functions INT, REAL, DBLE, and CMPLX are treated as signed integer constants. | -assume noold_boz |
-assume [no]old_unit_star | Determines whether READs or WRITEs to UNIT=* go to stdin or stdout, respectively. | -assume old_unit_star |
-assume [no]old_xor | Determines whether .XOR. is defined by the compiler as an intrinsic operator. | -assume old_xor |
-assume [no]realloc_lhs | Determines whether allocatable objects on the left hand side of an assignment are treated according to Fortran 95/90 rules or Fortran 2003 rules. | -assume norealloc_lhs |
-assume [no]std_mod_proc_name | Determines whether the names of module procedures are allowed to conflict with user external symbol names. | -assume nostd_mod_proc_name |
-axS (i32, i64em) |
Can generate specialized code paths using IntelŪ Streaming SIMD Extensions 4 (SSE4) Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instruction set and it can optimize for the architecture. | OFF |
-check [no]pointers | Determines whether checking occurs for certain disassociated or uninitialized pointers or unallocated allocatable objects. | -check nopointers |
-cxxlib-nostd | Prevents the compiler from linking with the standard C++ library. | OFF |
-diag-type diag-list | Controls the display of diagnostic information. | OFF |
-diag-dump | Tells the compiler to print all enabled diagnostic messages and stop compilation. | OFF |
-diag-enable sv-include | Tells the Static Verifier to analyze include files and source files when issuing diagnostic message. | OFF |
-diag-file[=file] | Causes the results of diagnostic analysis to be output to a file. | OFF |
-diag-file-append[=file] | Causes the results of diagnostic analysis to be appended to a file. | OFF |
-[no-]diag-id-numbers | Tells the compiler to display diagnostic messages by using their ID number values. | -diag-id-numbers |
-dumpmachine | Displays the target machine and operating system configuration. | OFF |
-f[no-]align-functions[=n] (i32, i64em) |
Tells the compiler to align functions on an optimal byte boundary. | -no-falign-functions |
-f[no-]instrument-functions | Determines whether function entry and exit points are instrumented. | -fno-instrument-functions |
-f[no-]keep-static-consts | Tells the compiler to preserve allocation of variables that are not referenced in the source. | -fno-keep-static-consts |
-fp-speculation=mode | Tells the compiler the mode in which to speculate on floating-point operations. | -fp-speculation=fast |
-[no-]func-groups (i32, i64em; Linux only) |
Enables or disables function grouping if profiling information is enabled. | -no-func-groups |
-heap-arrays [size] | Puts automatic arrays and arrays created for temporary computations on the heap instead of the stack. | OFF |
-help [category] | Displays all available compiler options or a category of compiler options. | OFF |
-ipo-jobsn | Specifies the number of commands to be executed simultaneously during the link phase of Interprocedural Optimization (IPO). | -ipo-jobs1 |
-m32 (i32, i64em; Mac OS X only) |
Tells the compiler to generate code for IA-32 architecture. | OFF |
-m64 (i32, i64em; Mac OS X only) |
Tells the compiler to generate code for IntelŪ 64 architecture. | OFF |
-march=processor (i32, i64em; Linux only) |
Tells the compiler to generate code for a specified processor. | i32: OFF i64em: pentium4 |
-mssen (i32, i64em) |
Tells the compiler to generate code for certain IntelŪ PentiumŪ processors. | OFF |
-mtune=core2 (i32, i64; Linux only) |
Optimizes for the IntelŪ Core™2 processor family. | i32: pentium4 i64: itanium2 |
-openmp-lib type (Linux only) |
Lets you specify an OpenMP* run-time library to use for linking. | -openmp-lib legacy |
-opt-malloc-options=n (i32, i64em) |
Lets you specify an alternate algorithm for malloc(). | -opt-malloc-options=0 |
-[no-]opt-multi-version-aggressive (i32, i64em) |
Tells the compiler to use aggressive multi-versioning to check for pointer aliasing and scalar replacement. | -no-opt-multi-version-aggressive |
-[no-]opt-ra-region-strategy[=keyword] (i32, i64em) |
Selects the method that the register allocator uses to partition each routine into regions. | -opt-ra-region-strategy:default |
-opt-streaming-stores (i32, i64em) |
Enables generation of streaming stores for optimization. | -opt-streaming-stores auto |
-[no-]par-runtime-control | Generates code to perform run-time checks for loops that have symbolic loop bounds. | -no-par-runtime-control |
-par-schedule-keyword[=n] | Specifies a scheduling algorithm for DO loop iterations. | OFF |
-[no-]save-temps | Tells the compiler to save intermediate files created during compilation. | -no-save-temps |
-shared-intel | Causes Intel-provided libraries to be linked in dynamically. | OFF |
-shared-libgcc
(Linux only) |
Links the GNU libgcc library dynamically. | OFF |
-stand f03 or -std03 | Causes the compiler to issue messages for language elements that are not standard in Fortran 2003. | -nostand |
-static-intel | Causes Intel-provided libraries to be linked in statically. | OFF |
-static-libgcc
(Linux only) |
Links the GNU libgcc library statically. | OFF |
-tcollect (Linux only) |
Inserts instrumentation probes calling the IntelŪ Trace Collector API. | OFF |
-tprofile | Generates instrumentation to analyze multi-threading performance. | OFF |
-[no-]unroll-aggressive (i32, i64em) |
Tells the compiler to use aggressive, complete unrolling for loops with small constant trip counts. | -no-unroll-aggressive |
-[no-]vec-guard-write (i32, i64em) |
Tells the compiler to perform a conditional check in a vectorized loop. | -no-vec-guard-write |
-xO (i32, i64em) |
Can generate SSE3, SSE2, and SSE instructions, and it can optimize for Intel processors based on IntelŪ Core™ microarchitecture and Intel NetburstŪ microarchitecture. | OFF |
-xS (i32, i64em) |
Can generate SSE4 Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instructions. | OFF |