Linux* OS and Mac OS* X Quick Reference Guide and Cross Reference

The table in this section summarizes Intel® Fortran compiler options used on Linux* OS and Mac OS* X. Each summary also shows the equivalent compiler options on Windows* OS.

If you want to see the summarized Windows* options, see this table.

Some compiler options are only available on systems using certain architectures, 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 "only" appears in the label, the option is only available on the identified system or architecture.

If no label appears, the option is available on all supported systems and architectures.

For more details on the options, refer to the Alphabetical Compiler Options section.

The Intel® Fortran Compiler includes the Intel® Compiler Option Mapping tool. This tool lets you find equivalent options by specifying compiler option -map-opts (Linux and Mac OS X) or /Qmap-opts (Windows).

For information on conventions used in this table, see Conventions.

Quick Reference of Linux OS and Mac OS X Options

The following table summarizes all supported Linux OS and Mac OS X options. It also shows equivalent Windows OS options, if any.

Option

Description

Default

Equivalent Option on Windows* OS

-1

Executes at least one iteration of DO loops.

OFF

/1

-66

Tells the compiler to use FORTRAN 66 semantics.

OFF

None

-72, -80, -132

Treats the statement field of each fixed-form source line as ending in column 72, 80, or 132; same as the -extend-source option.

-72

/4L{72|80|132}

-align [keyword]

Tells the compiler how to align certain data items.

keywords:
nocommons
nodcommons
records
nosequence

/align[:keyword]

-allow [no]fpp_comments

Determines how the fpp preprocessor treats Fortran end-of-line comments in preprocessor directive lines.

-allow fpp_comments

/allow:[no]fpp_comments

-[no]altparam

Allows alternate syntax (without parentheses) for PARAMETER statements.

-altparam

/[no]altparam

-[no-]ansi-alias

Tells the compiler to assume the program adheres to the Fortran Standard type aliasability rules.

-ansi-alias

/Qansi-alias[-]

-arch keyword
(i32, i64em)

Tells the compiler to generate optimized code specialized for the processor that executes your program.

varies; see the option description

/arch:keyword
(i32, i64em)

-assume keyword

Tells the compiler to make certain assumptions.

keywords:
nobscc
nobuffered_io
nobyterecl
nocc_omp
nodummy_aliases
nominus0
noold_boz
old_unit_star
old_xor
protect_constants
noprotect_parens
norealloc_lhs
source_include
nostd_mod_proc_name
underscore
no2underscores
nowriteable-strings

/assume:keyword

-[no]automatic

Causes all variables to be allocated to the run-time stack; same as the -auto option.

-auto-scalar

/[no]automatic

-auto-scalar

Causes allocation of scalar variables of intrinsic types INTEGER, REAL, COMPLEX, and LOGICAL to the run-time stack.

-auto-scalar

/Qauto-scalar

-autodouble

Makes default real and complex variables 8 bytes long; same as the -real-size 64 option.

OFF

/Qautodouble

-axprocessor
(i32, i64em)

Tells the compiler to generate multiple, processor-specific auto-dispatch code paths for Intel processors if there is a performance benefit.

OFF

/Qaxprocessor
(i32, i64em)

-Bdir

Specifies a directory that can be used to find include files, libraries, and executables.

OFF

None

-Bdynamic
(Linux only)

Enables dynamic linking of libraries at run time.

OFF

None

-Bstatic
(Linux only)

Enables static linking of a user's library.

OFF

None

-c

Causes the compiler to compile to an object file only and not link.

OFF

/c

-CB

Performs run-time checks on whether array subscript and substring references are within declared bounds; same as the -check bounds option.

OFF

/CB

-ccdefault keyword

Specifies the type of carriage control used when a file is displayed at a terminal screen.

-ccdefault default

/ccdefault:keyword

-check [keyword]

Checks for certain conditions at run time.

-nocheck

/check[:keyword]

-cm

Disables all messages about questionable programming practices; same as specifying option -warn nousage.

OFF

/cm

-common-args

Tells the compiler that dummy (formal) arguments to procedures share memory locations with other dummy arguments or with COMMON variables that are assigned. This option is the same as -assume dummy_aliases.

OFF

/Qcommon-args

-[no-]complex-limited-range

Enables the use of basic algebraic expansions of some arithmetic operations involving data of type COMPLEX.

-no-complex-limited-range

/Qcomplex-limited-range[-]

-convert keyword

Specifies the format of unformatted files containing numeric data.

-convert native

/convert:keyword

-cpp

Runs the Fortran preprocessor on source files prior to compilation.

OFF

/Qcpp

-CU

Enables run-time checking for uninitialized variables. This option is the same as -check uninit.

OFF

/CU

-cxxlib[=dir ]

Tells the compiler to link using the C++ run-time libraries provided by gcc.

-no-cxxlib

None

-cxxlib-nostd

Prevents the compiler from linking with the standard C++ library.

-no-cxxlib

None

-Dname [=value]

Defines a symbol name that can be associated with an optional value.

-noD

/Dname [=value]

-[no]d-lines

Compiles debugging statements indicated by the letter D in column 1 of the source code.

-nod-lines

/[no]d-linesor /Qd-lines

-DD

Compiles debugging statements indicated by the letter D in column 1 of the source code; same as the -d-lines option.

-nod-lines

/d-lines

-debug keyword

Specifies settings that enhance debugging.

-debug none

/debug:keyword
Note: the Windows option takes different keyword s

-debug-parameters [keyword]

Tells the compiler to generate debug information for PARAMETERs used in a program.

-nodebug-parameters

/debug-parameters[:keyword]

-diag-type diag-list

Controls the display of diagnostic information.

OFF

/Qdiag-type : diag-list

-diag-dump

Tells the compiler to print all enabled diagnostic messages and stop compilation.

OFF

/Qdiag-dump

-diag-enable sv-include

Tells the Static Verifier to analyze include files and source files when issuing diagnostic message.

OFF

/Qdiag-enable:sv-include

-diag-error-limit n

Specifies the maximum number of errors allowed before compilation stops.

-diag-error-limit 30

/Qdiag-error-limit:n

-diag-file[= file]

Causes the results of diagnostic analysis to be output to a file.

OFF

/Qdiag-file[:file]

-diag-file-append[= file]

Causes the results of diagnostic analysis to be appended to a file.

OFF

/Qdiag-file-append[:file ]

-[no-]diag-id-numbers

Tells the compiler to display diagnostic messages by using their ID number values.

-diag-id-numbers

/Qdiag-id-numbers[-]

-diag-once id[,id,...]

Tells the compiler to issue one or more diagnostic messages only once

OFF

/Qdiag-once:id[,id,...]

-double-size size

Defines the default KIND for DOUBLE PRECISION and DOUBLE COMPLEX variables.

-double-size 64

/double-size:size

-dps

Specifies that the alternate syntax for PARAMETER statements is allowed; same as the -altparam option.

-dps

/Qdps

-dryrun

Specifies that driver tool commands should be shown but not executed.

OFF

None

-dumpmachine

Displays the target machine and operating system configuration.

OFF

None

-dynamic-linkerfile
(Linux only)

Specifies a dynamic linker in file other than the default.

OFF

None

-dynamiclib
(i32, i64em; Mac OS X only)

Invokes the libtool command to generate dynamic libraries.

OFF

None

-dyncom "common1,common2,..."

Enables dynamic allocation of common blocks at run time.

OFF

/Qdyncom "common1,common2,..."

-E

Causes the Fortran preprocessor to send output to stdout.

OFF

/E

-e03, -e95, -e90

Causes the compiler to issue errors instead of warnings for nonstandard Fortran; same as the -warn stderrors option.

OFF

None

-EP

Causes the Fortran preprocessor to send output to stdout, omitting #line directives.

OFF

/EP

-error-limit n

Specifies the maximum number of error-level or fatal-level compiler errors allowed for a file specified on the command line; same as -diag-error-limit.

-error-limit 30

/error-limit:n

-extend-source size

Specifies the length of the statement field in a fixed-form source file.

-extend-source 72

/extend-source:size

-f66

Tells the compiler to use FORTRAN 66 semantics.

OFF

/f66

-[no]f77rtl

Tells the compiler to use FORTRAN 77 run-time behavior.

OFF

/[no]f77rtl

-f[no-]alias

Determines whether aliasing should be assumed in the program.

ON

None

-falign-functions[=n]
(i32, i64em)

Tells the compiler to align functions on an optimal byte boundary.

-no-falign-functions

/Qfnalign[:n ]
(i32, i64em)

-falign-stack[=mode]
(i32 only)

Tells the compiler to align functions on an optimal byte boundary.

-falign-stack=default

None

-fast

Maximizes speed across the entire program.

OFF

/fast

-[no-]fast-transcendentals

Enables the compiler to replace calls to transcendental functions with faster but less precise implementations.

ON

/Qfast-transcendentals[-]

-fcode-asm

Produces an assembly file with optional machine code annotations.

OFF

/FAc

-f[no-]exceptions

Enables exception handling table generation.

-fno-exceptions

None

-f[no-]fnalias

Specifies that aliasing should be assumed within functions.

OFF

-ffnalias

-FI

Specifies source files are in fixed format; same as the -fixed option.

determined by file suffix

/FI

-f[no-]inline

Tells the compiler to inline functions declared with cDEC$ ATTRIBUTES FORCEINLINE.

-fno-inline

None

-f[no-]inline-functions

Enables function inlining for single file compilation.

-finline-functions

/Ob2

-finline-limit=n

Lets you specify the maximum size of a function to be inlined.

OFF

None

-f[no-]instrument-functions

Determines whether function entry and exit points are instrumented.

-fno-instrument-functions

/Qinstrument-functions[-]

-[no]fixed

Specifies source files are in fixed format.

determined by file suffix

/[no]fixed

-f[no-]keep-static-consts

Tells the compiler to preserve allocation of variables that are not referenced in the source.

-fno-keep-static-consts

/Qkeep-static-consts[-]

-[no]fltconsistency

Enables improved floating-point consistency.

OFF

/[no]fltconsistency

-[no-]fma
(i64 only; Linux only)

Enables the combining of floating-point multiplies and add/subtract operations.

-fma

/Qfma[-]
(i64 only)

-f[no-]math-errno

Tells the compiler that errno can be reliably tested after calls to standard math library functions.

-fno-math-errno

None

-fminshared

Tells the compiler to treat a compilation unit as a component of a main program and not to link it as a shareable object.

OFF

None

-[no-]fnsplit
(i64 only; Linux only)

Enables function splitting.

OFF

/Qfnsplit[-]
(i32, i64)

-f[no-]omit-frame-pointer
(i32, i64em)

Determines whether EBP is used as a general-purpose register in optimizations. This is the same as specifying option -fp, which is deprecated.

-fomit-frame-pointer (unless option -O0 or -g is specified)

/Oy[-]
(i32 only)

-fp-model keyword

Controls the semantics of floating-point calculations.

-fp-model fast

/fp:keyword

-[no-]fp-port

Rounds floating-point results after floating-point operations, so rounding to user-declared precision happens at assignments and type conversions (some impact on speed).

-no-fp-port

/Qfp-port[-]

-[no-]fp-relaxed
(i64 only; Linux only)

Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt.

-no-fp-relaxed

/Qfp-relaxed[-]
(i64 only)

-fp-speculation=mode

Tells the compiler the mode in which to speculate on floating-point operations.

-fp-speculation=fast

/Qfp-speculation:mode

-fp-stack-check
(i32, i64em)

Generates extra code after every function call to ensure that the FP (floating-point) stack is in the expected state.

OFF

/Qfp-stack-check
(i32, i64em)

-[no]fpconstant

Tells the compiler that single-precision constants assigned to double-precision variables should be evaluated in double precision.

OFF

/[no]fpconstant

-fpen

Specifies floating-point exception handling at run time for the main program.

-fpe3

/fpe:n

-f[no-]pic, -fPIC

Generates position-independent code.

-fno-pic

None

-fpie
(Linux only)

Tells the compiler to generate position-independent code.

OFF

None

-fpp[n] or -fpp[="option"]

Runs the Fortran preprocessor on source files prior to compilation.

-nofpp

/fpp[n] or /fpp[="option"]

-fpscomp [keyword]

Specifies compatibility with Microsoft* Fortran PowerStation or Intel® Fortran.

-fpscomp libs

/fpscomp[:keyword]

-FR

Specifies source files are in free format; same as the -free option.

determined by file suffix

/FR

-fr32
(i64 only; Linux only)

Disables use of high floating-point registers.

OFF

None

-[no]free

Specifies source files are in free format.

determined by file suffix

/[no]free

-fsource-asm

Produces an assembly file with optional source code annotations.

OFF

/FAs

-f[no-]stack-security-check

Determines whether the compiler generates code that detects some buffer overruns; same as -f[no-]stack-protector.

-fno-stack-security-check

/GS[-]

-fsyntax-only

Specifies that the source file should be checked only for correct syntax; same as -syntax-only.

OFF

None

-ftrapuv

Initializes stack local variables to an unusual value.

OFF

/Qtrapuv

-[no-]ftz

Flushes denormal results to zero.

i64: -no-ftz
i32, i64em: -ftz

/Qftz[-]

-[no-]func-groups
(i32, i64em; Linux only)

Enables or disables function grouping if profiling information is enabled. This option is deprecated, use -prof-func-groups.

-no-func-groups

None

-funroll-loops

Tells the compiler to unroll user loops based on the default optimization heuristics; same as -unroll, which is the recommended option.

-funroll-loops

/Qunroll

-fverbose-asm

Produces an assembly file with compiler comments, including options and version information.

-fno-verbose-asm

None

-fvisibility=keyword
-fvisibility- keyword= file

Specifies the default visibility for global symbols; the 2nd form indicates symbols in a file.

-fvisibility=default

None

-g

Produces symbolic debug information in the object file.

OFF

/Zi, /Z7

-gdwarf2

Enables generation of debug information using the DWARF2 format.

OFF

None

-gen-interfaces [[no]source]

Tells the compiler to generate an interface block for each routine in a source file.

-nogen-interfaces

/gen-interfaces[:[no]source]

-[no-]global-hoist

Enables certain optimizations that can move memory loads to a point earlier in the program execution than where they appear in the source.

-global-hoist

/Qglobal-hoist[-]

-heap-arrays [size]

Puts automatic arrays and arrays created for temporary computations on the heap instead of the stack.

-no-heap-arrays

/heap-arrays[:size ]

-help [category]

Displays the list of compiler options.

OFF

/help [category]

-Idir

Specifies a directory to add to the include path.

OFF

/Idir

-i-dynamic

Links Intel-provided libraries dynamically. This is a deprecated option; use -shared-intel.

OFF

None

-i-static

Links Intel-provided libraries statically. This is a deprecated option; use -static-intel.

OFF

None

-i{2|4|8}

Specifies the default KIND for integer and logical variables; same as the -integer-size option.

-i4

/4I{2|4|8}

-idirafterdir

Adds a directory to the second include file search path.

OFF

None

-implicitnone

Sets the default type of a variable to undefined; same as option warn declarations.

OFF

/4Yd

-inline-debug-info

Produces enhanced source position information for inlined code.

OFF

/Qinline-debug-info

-inline-factor=n

Specifies the percentage multiplier that should be applied to all inlining options that define upper limits.

-no-inline-factor

/Qinline-factor=n

-inline-forceinline

Specifies that an inline routine should be inlined whenever the compiler can do so.

OFF

/Qinline-forceinline

-inline-level=n

Specifies the level of inline function expansion. n = 0, 1, or 2.

-inline-level=2 if -O2 is in effect
-inline-level=0 if -O0 is specified

/Obn

-inline-max-per-compile=n

Specifies the maximum number of times inlining may be applied to an entire compilation unit.

-no-inline-max-per-compile

/Qinline-max-per-compile=n

-inline-max-per-routine=n

Specifies the maximum number of times the inliner may inline into a particular routine.

-no-inline-max-per-routine

/Qinline-max-per-routine=n

-inline-max-size=n

Specifies the lower limit for the size of what the inliner considers to be a large routine.

-no-inline-max-size

/Qinline-max-size=n

-inline-max-total-size=n

Specifies how much larger a routine can normally grow when inline expansion is performed.

-no-inline-max-total-size

/Qinline-max-total-size=n

-inline-min-size=n

Specifies the upper limit for the size of what the inliner considers to be a small routine.

-no-inline-min-size

/Qinline-min-size=n

-[no]intconstant

Tells the compiler to use FORTRAN 77 semantics to determine the KIND for integer constants.

-nointconstant

/[no]intconstant

-integer-size size

Specifies the default KIND for integer and logical variables.

-integer-size 32

/integer-size:size

-[no-]ip

Enables additional single-file interprocedural optimizations.

OFF

/Qip[-]

-ip-no-inlining

Disables full and partial inlining enabled by -ip.

OFF

/Qip-no-inlining

-ip-no-pinlining

Disables partial inlining.

OFF

/Qip-no-pinlining

-IPF-flt-eval-method0
(i64 only; Linux only)

Tells the compiler to evaluate the expressions involving floating-point operands in the precision indicated by the variable types declared in the program. Deprecated.

OFF

/QIPF-flt-eval-method0
(i64 only)

-IPF-fltacc
(i64 only; Linux only)

Tells the compiler to apply optimizations that affect floating-point accuracy. Deprecated.

-no-IPF-fltacc

/QIPF-fltacc
(i64 only)

-IPF-fma
(i64 only; Linux only)

Enables the combining of floating-point multiplies and add/subtract operations. Deprecated; use -fma.

-IPF-fma

/QIPF-fma
(i64 only)

-IPF-fp-relaxed
(i64 only; Linux only)

Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. Deprecated; use -fp-relaxed.

-no-IPF-fp-relaxed

/QIPF-fp-relaxed
(i64 only)

-ipo[n]

Enables multifile IP optimizations between files.

OFF

/Qipo[n]

-ipo-c

Generates a multifile object file that can be used in further link steps.

OFF

/Qipo-c

-ipo-jobsn

Specifies the number of commands to be executed simultaneously during the link phase of Interprocedural Optimization (IPO).

-ipo-jobs1

/Qipo-jobs:n

-ipo-S

Generates a multifile assembly file that can be used in further link steps.

OFF

/Qipo-S

-ipo-separate
(Linux only)

Generates one object file per source file.

OFF

/Qipo-separate

-isystemdir

Specifies a directory to add to the start of the system include path.

OFF

None

-ivdep-parallel
(i64 only; Linux only)

Tells the compiler that there is no loop-carried memory dependency in any loop following an IVDEP directive.

OFF

/Qivdep-parallel
(i64 only)

-lstring

Tells the linker to search for a specified library when linking.

OFF

None

-Ldir

Tells the linker where to search for libraries before searching the standard directories.

OFF

None

-[no]logo

Displays compiler version information.

-nologo

/[no]logo

-lowercase

Causes the compiler to ignore case differences in identifiers and to convert external names to lowercase; same as the -names lowercase option.

-lowercase

/Qlowercase

-m[processor]
(i32, i64em)

Tells the compiler to generate optimized code specialized for the processor that executes your program.

varies; see option description

/arch

-m32, -m64
(i32, i64em)

Tells the compiler to generate code for IA-32 architecture or Intel® 64 architecture, respectively.

OFF

None

-map-opts
(Linux only)

Maps one or more Linux* compiler options to their equivalent on a Windows* system (or vice versa).

OFF

/Qmap-opts

-march=processor
(i32, i64em; Linux only)

Tells the compiler to generate code for a specified processor.

i32: OFF
i64em: -march=pentium4

None

-mcmodel=mem_model
(i64em only; Linux only )

Tells the compiler to use a specific memory model to generate code and store data.

-mcmodel=small

None

-mdynamic-no-pic
(i32 only; Mac OS X only)

Generates code that is not position-independent but has position-independent external references.

OFF

None

-mieee-fp

Tells the compiler to use IEEE floating point comparisons. This is the same as specifying option -fltconsistency or -mp.

OFF

/fltconsistency

-minstruction=[no]movbe

Determines whether MOVBE instructions are generated for Intel® processors.

-minstruction=movbe

/Qinstruction=[no]movbe

-mixed_str_len_arg

Tells the compiler that the hidden length passed for a character argument is to be placed immediately after its corresponding character argument in the argument list.

OFF

/iface:mixed_str_len_arg

-module path

Specifies the directory where module files should be placed when created and where they should be searched for.

OFF

/module:path

-mp

Enables improved floating-point consistency.

OFF

/Op

-mp1

Improves floating-point precision and consistency.

OFF

/Qprec

-m[no-]relax
(i64 only)

Determines whether the compiler passes linker option -relax to the linker.

-mno-relax

None

-mtune=processor

Performs optimizations for a particular processor. -mtune=itanium2 is equivalent to /G2.

i32: -mtune=pentium4
i64: -mtune=itanium2-p9000

None

-multiple-processes= n

Creates multiple processes that can be used to compile large numbers of source files at the same time.

OFF

/MP: n

-names keyword

Specifies how source code identifiers and external names are interpreted.

-names lowercase

/names:keyword

-nbs

Tells the compiler to treat the backslash character (\) as a normal character in character literals; same as the -assume nobscc option.

-nbs

/nbs

-no-bss-init

Tells the compiler to place in the DATA section any variables explicitly initialized with zeros.

OFF

/Qno-bss-init

-nodefaultlibs

Prevents the compiler from using standard libraries when linking.

OFF

None

-nodefine

Specifies that all preprocessor definitions apply only to fpp and not to Intel® Fortran conditional compilation directives.

OFF

/nodefine

-nofor-main

Specifies the main program is not written in Fortran, and prevents the compiler from linking for_main.o into applications.

OFF

None

-noinclude

Prevents the compiler from searching in a directory previously added to the include path for files specified in an INCLUDE statement.

OFF

/noinclude

-nolib-inline

Disables inline expansion of standard library or intrinsic functions.

OFF

None

-nostartfiles

Prevents the compiler from using standard startup files when linking.

OFF

None

-nostdinc

Removes standard directories from the include file search path; same as the -X option.

OFF

None

-nostdlib

Prevents the compiler from using standard libraries and startup files when linking.

OFF

None

-nus

Disables appending an underscore to external user-defined names; same as the -assume nounderscore option.

OFF

None

-ofile

Specifies the name for an output file.

OFF

None

-O[ n ]

Specifies the code optimization for applications.

-O2

/O[ n ]

-O0

Disables all optimizations.

OFF

/Od

-onetrip

Executes at least one iteration of DO loops.

OFF

/onetrip

-openmp

Enables the parallelizer to generate multithreaded code based on OpenMP* directives.

OFF

/Qopenmp

-openmp-lib type
(Linux only)

Lets you specify an OpenMP* run-time library to use for linking.

-openmp-lib legacy

/Qopenmp-lib:type

-openmp-link library

Controls whether the compiler links to static or dynamic OpenMP run-time libraries.

-openmp-link dynamic

/Qopenmp-link:library

-openmp-profile
(Linux only)

Enables analysis of OpenMP* applications.

OFF

/Qopenmp-profile

-openmp-report[n]

Controls the OpenMP parallelizer's level of diagnostic messages.

-openmp-report1

/Qopenmp-report[n]

-openmp-stubs

Enables compilation of OpenMP programs in sequential mode.

OFF

/Qopenmp-stubs

-openmp-threadprivate type
(Linux only)

Lets you specify an OpenMP* threadprivate implementation.

-openmp-threadprivate legacy

/Qopenmp-threadprivate:type

-opt-block-factor=n

Lets you specify a loop blocking factor.

OFF

/Qopt-block-factor:n

-opt-jump-tables=keyword

Enables or disables generation of jump tables for switch statements.

-opt-jump-tables=default

/Qopt-jump-tables:keyword

-[no-]opt-loadpair
(i64 only; Linux only)

Enables or disables loadpair optimization.

-no-opt-loadpair

/Qopt-loadpair[-]
(i64 only)

-opt-malloc-options=n
(i32, i64em)

Lets you specify an alternate algorithm for malloc().

-opt-malloc-options=0

None

-opt-mem-bandwidthn
(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

/Qopt-mem-bandwidthn
(i64 only)

-[no-]opt-mod-versioning
(i64 only; Linux only)

Enables or disables versioning of modulo operations for certain types of operands.

-no-opt-mod-versioning

/Qopt-mod-versioning[-]
(i64 only)

-[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

/Qopt-multi-version-aggressive[-]
(i32, i64em)

-opt-prefetch[=n]

Enables prefetch insertion optimization.

i64: -opt-prefetch
i32, i64em: -no-opt-prefetch

/Qopt-prefetch[:n]

-[no-]opt-prefetch-initial-values
(i64 only; Linux only)

Enables or disables prefetches that are issued before a loop is entered.

-opt-prefetch-initial-values

/Qopt-prefetch-initial-values[-]
(i64 only)

-[no-]opt-prefetch-issue-excl-hint
(i64 only; Linux only)

Determines whether the compiler issues prefetches for stores with exclusive hint.

-no-opt-prefetch-issue-excl-hint

/Qopt-prefetch-issue-excl-hint[-]
(i64 only)

-[no-]opt-prefetch-next-iteration
(i64 only; Linux only)

Enables or disables prefetches for a memory access in the next iteration of a loop.

-opt-prefetch-next-iteration

/Qopt-prefetch-next-iteration[-][:n]
(i64 only)

-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

/Qopt-ra-region-strategy[:keyword]
(i32, i64em)

-opt-report [n]

Tells the compiler to generate an optimization report to stderr.

-opt-report 2

/Qopt-report[:n]

-opt-report-file=file

Specifies the name for an optimization report.

OFF

/Qopt-report-file:file

-opt-report-help

Displays the optimizer phases available for report generation.

OFF

/Qopt-report-help

-opt-report-phase=phase

Specifies an optimizer phase to use when optimization reports are generated.

OFF

/Qopt-report-phase:phase

-opt-report-routine=string

Tells the compiler to generate reports on the routines containing specified text.

OFF

/Qopt-report-routine:string

-opt-streaming-stores keyword
(i32, i64em)

Enables generation of streaming stores for optimization.

-opt-streaming-stores auto

/Qopt-streaming-stores:keyword
(i32, i64em)

-[no-]opt-subscript-in-range
(i32, i64em)

Determines whether the compiler assumes no overflows in the intermediate computation of subscript expressions in loops.

-no-opt-subscript-in-range

/Qopt-subscript-in-range[-]
(i32, i64em)

-p

Compiles and links for function profiling with gprof(1).

OFF

None

-P

Causes the Fortran preprocessor to send output to a file, which is named by default; same as the -preprocess-only option.

OFF

/P

-[no]pad

Enables the changing of the variable and array memory layout.

OFF

/Qpad[-]

-[no]pad-source

Specifies padding for fixed-form source records.

OFF

/[no]pad-source or /Qpad-source[-]

-par-report[n]

Controls the diagnostic information reported by the auto-parallelizer.

-par-report1

/Qpar-report[n]

-[no-]par-runtime-control

Generates code to perform run-time checks for loops that have symbolic loop bounds.

-no-par-runtime-control

/Qpar-runtime-control[-]

-par-schedule-keyword [=n]

Specifies a scheduling algorithm for DO loop iterations.

OFF

/Qpar-schedule-keyword [[:]n]

-par-threshold[n]

Sets a threshold for the auto-parallelization of loops.

-par-threshold100

/Qpar-threshold[[:]n]

-parallel

Tells the auto-parallelizer to generate multithreaded code for loops that can be safely executed in parallel.

OFF

/Qparallel

-pcn
(i32, i64em)

Enables control of floating-point significand precision.

-pc80

/Qpcn
(i32, i64em)

-pg

Compiles and links for function profiling with gprof(1); same as the -p option.

OFF

None

-pie


(Linux only)

Produces a position-independent executable on processors that support it.

OFF

None

-[no-]prec-div

Improves precision of floating-point divides.

-prec-div

/Qprec-div[-]

-[no-]prec-sqrt
(i32, i64em)

Improves precision of square root implementations.

-no-prec-sqrt

/Qprec-sqrt[-]
(i32, i64em)

-prefetch

Enables prefetch insertion optimization. Deprecated; use -opt-prefetch.

i64: -prefetch
i32, i64em: -no-prefetch

/Qprefetch

-preprocess-only

Causes the Fortran preprocessor to send output to a file, which is named by default; same as the -P option.

OFF

/preprocess-only

-print-multi-lib

Prints information about where system libraries should be found.

OFF

None

-[no-]prof-data-order
(Linux only)

Enables or disables data ordering if profiling information is enabled.

-no-prof-data-order

/Qprof-data-order[-]

-prof-dir dir

Specifies a directory for profiling information output files.

OFF

/Qprof-dir dir

-prof-file file

Specifies a file name for the profiling summary file.

OFF

/Qprof-file file

-[no-]prof-func-groups
(i32, i64em; Linux only)

Enables or disables function grouping if profiling information is enabled.

-no-prof-func-groups

None

-[no-]prof-func-order
(Linux only)

Enables or disables function ordering if profiling information is enabled.

-no-prof-func-order

/Qprof-func-order[-]

-prof-gen[=keyword]

Produces an instrumented object file that can be used in profile-guided optimization.

-[no-]prof-gen

/Qprof-gen[:keyword

-prof-genx

Produces an instrumented object file that includes extra source position information. Deprecated; use -prof-gen=srcpos.

OFF

/Qprof-genx

-prof-hotness-threshold=n
(Linux only)

Lets you set the hotness threshold for function grouping and function ordering.

OFF

/Qprof-hotness-threshold:n

-[no-]prof-src-dir

Determines whether directory information of the source file under compilation is considered when looking up profile data records.

-prof-src-dir

/Qprof-src-dir[-]

-prof-src-root=dir

Lets you use relative directory paths when looking up profile data and specifies a directory as the base.

OFF

/Qprof-src-root:dir

-prof-src-root-cwd

Lets you use relative directory paths when looking up profile data and specifies the current working directory as the base.

OFF

/Qprof-src-root-cwd

-prof-use[=arg]

Enables the use of profiling information during optimization.

-no-prof-use

/Qprof-use[:arg]

-Qinstall dir

Specifies the root directory where the compiler installation was performed.

OFF

None

-Qlocation,string,dir

Specifies a directory as the location of the specified tool in string .

OFF

/Qlocation,string,dir

-Qoption,string,options

Passes options to the specified tool in string.

OFF

/Qoption,string,options

-r8, -r16

Specifies the default KIND for real and complex variables. -r8 is the same as /real-size:64. -r16 is the same as /real-size:128.

OFF

/4R8, /4R16

-rcd
(i32, i64em)

Enables fast float-to-integer conversions.

OFF

/Qrcd
(i32, i64em)

-rct
(i32, i64em)

Sets the internal FPU rounding control to Truncate.

OFF

/Qrct
(i32, i64em)

-real-size size

Specifies the default KIND for real variables.

-real-size 32

/real-size:size

-recursive

Tells the compiler that all routines should be compiled for possible recursive execution.

-norecursive

/recursive

-reentrancy keyword

Tells the compiler to generate reentrant code to support a multithreaded application.

-noreentrancy

/reentrancy:keyword

-S

Causes the compiler to compile to an assembly file (.s) only and not link; same as options /Fa and /asmfile.

OFF

/S

-safe-cray-ptr

Tells the compiler that Cray* pointers do not alias other variables.

OFF

/Qsafe-cray-ptr

-save

Causes variables to be placed in static memory.

-auto-scalar

/Qsave

-[no-]save-temps

Tells the compiler to save intermediate files created during compilation.

-no-save-temps

/Qsave-temps[-]

-[no-]scalar-rep
(i32 only)

Enables scalar replacement performed during loop transformation (requires -O3).

-no-scalar-rep

/Qscalar-rep[-]
(i32 only)

-shared
(Linux only)

Tells the compiler to produce a dynamic shared object instead of an executable.

OFF

None

-shared-intel

Links Intel-provided libraries dynamically.

OFF

None

-shared-libgcc
(Linux only)

Links the GNU libgcc library dynamically.

-shared-libgcc

None

-[no-]sox

Tells the compiler to save the compiler options and version in the executable.

-no-sox

/Qsox[-]

-stand keyword

Causes the compiler to issue compile-time messages for nonstandard language elements.

-nostand

/stand:keyword

-static
(Linux only)

Prevents linking with shared libraries.

-static

/static

-staticlib
(i32, i64em; Mac OS X only)

Invokes the libtool command to generate static libraries.

OFF

None

-static-intel

Links Intel-provided libraries statically.

OFF

None

-static-libgcc
(Linux only)

Links the GNU libgcc library statically.

OFF

None

-std90

Causes the compiler to issue messages for language elements that are not standard in Fortran 90; same as -stand f90.

OFF

/stand:f90

-std95

Causes the compiler to issue messages for language elements that are not standard in Fortran 95; same as -stand f95.

OFF

/stand:f95

-std03

Causes the compiler to issue messages for language elements that are not standard in Fortran 2003; same as -std or -stand f03.

OFF

/stand:f03

-syntax-only

Specifies that the source file should be checked only for correct syntax.

OFF

/syntax-only

-T file
(Linux only)

Tells the linker to read link commands from the specified file.

OFF

None

-tcheck
(Linux only)

Enables analysis of threaded applications.

OFF

/Qtcheck

-tcollect [lib]
(Linux only)

Inserts instrumentation probes calling the Intel(R) Trace Collector API.

OFF

/Qtcollect[=lib]

-tcollect-filter [file]
(Linux only)

Lets you enable or disable the instrumentation of specified functions.

OFF

/Qtcollect-filter[=file]

-Tf file

Tells the compiler to compile the file as a Fortran source file.

OFF

/Tf file

-[no]threads

Tells the linker to search for unresolved references in a multithreaded run-time library.

i32, i64: -nothreads
i64em: -threads

/[no]threads

-tprofile
(Linux only)

Generates instrumentation to analyze multi-threading performance.

OFF

/Qtprofile

-[no]traceback

Tells the compiler to generate extra information in the object file to provide source file traceback information when a severe error occurs at run time.

-notraceback

/[no]traceback

-tune keyword
(i32, i64em)

Determines the version of the architecture for which the compiler generates instructions.

-tune pn4

/tune:keyword
(i32, i64em)

-u

Enables error messages about any undeclared symbols; same as the -warn declarations option.

OFF

None
Note: the Windows option /u is not the same

-Uname

Undefines any definition currently in effect for the specified symbol.

OFF

/Uname

-unroll[n]

Tells the compiler the maximum number of times to unroll loops. -unroll is the same as option -funroll-loops.

-unroll

/unroll[:n]

-[no-]unroll-aggressive
(i32, i64em)

Determines whether the compiler uses more aggressive unrolling for certain loops.

-no-unroll-aggressive

/Qunroll-aggressive[-]
(i32, i64em)

-uppercase

Causes the compiler to ignore case differences in identifiers and to convert external names to uppercase; same as the -names uppercase option.

OFF

/Quppercase

-us

Tells the compiler to append an underscore character to external user-defined names; same as the -assume underscore option.

-us

/us

-[no-]use-asm

Tells the compiler to produce objects through the assembler.

-no-use-asm

/Quse-asm[-]
(i32 only)

-v [file]

Tells the driver that tool commands should be shown and executed.

OFF

None

-V

Displays the compiler version information; same as the -logo option.

OFF

None

-[no-]vec
(i32, i64em)

Enables or disables vectorization and transformations enabled for vectorization.

-no-vec

/Qvec[-]
(i32, i64em)

-[no-]vec-guard-write
(i32, i64em)

Tells the compiler to perform a conditional check in a vectorized loop.

-no-vec-guard-write

/Qvec-guard-write[-]
(i32, i64em)

-vec-report[n]
(i32, i64em)

Controls the diagnostic information reported by the vectorizer.

-vec-report1

/Qvec-report[n]
(i32, i64em)

-[no]vms

Causes the run-time system to behave like HP* Fortran on OpenVMS* Alpha systems and VAX* systems (VAX FORTRAN*).

-novms

/[no]vms

-w

Disables all warning messages; same as specifying option -warn noneor -warn nogeneral.

OFF

/w

-Wn

Disables (n=0) or enables (n=1) all warning messages.

-W1

/Wn

-Wa,o1[,o2,...]

Passes options ( o1,o2, and so forth) to the assembler for processing.

OFF

None

-warn [keyword]

Specifies diagnostic messages to be issued by the compiler.

keywords:
alignments
nodeclarations
noerrors
general
noignore_loc
nointerfaces
nostderrors
notruncated_source
nouncalled
nounused
usage

/warn[:keyword]

-[no]watch [keyword]

Tells the compiler to display certain information to the console output window.

-nowatch

/[no]watch[:keyword]

-WB

Turns a compile-time bounds check error into a warning.

OFF

/WB

-what

Tells the compiler to display its detailed version string.

OFF

/what

-Winline

Enables diagnostics about what is inlined and what is not inlined.

OFF

None

-Wl,option1 [,option2,...]

Passes options (o1, o2, and so forth) to the linker for processing.

OFF

None

-Wp,option1 [,option2,...]

Passes options (o1, o2, and so forth) to the preprocessor.

OFF

None

-xp
(i32, i64em)

Tells the compiler to generate optimized code specialized for the Intel processor that executes your program.

varies; see the option description

/Qxp
(i32, i64em)

-X

Removes standard directories from the include file search path.

OFF

/X

-Xlinker option

Passes a linker option directly to the linker

OFF

None

-y

Specifies that the source file should be checked only for correct syntax; same as the -syntax-only option.

OFF

/Zs

-[no]zero

Initializes to zero all local scalar variables of intrinsic type INTEGER, REAL, COMPLEX, or LOGICAL that are saved but not yet initialized.

-nozero

/Qzero[-]

-Zp[n]

Aligns fields of records and components of derived types on the smaller of the size boundary specified or the boundary that will naturally align them.

-Zp16

/Zp[n]

See Also