Windows* to Linux* Options Cross-reference

This section provides cross-reference table of the Intel® Fortran Compiler options used on the Windows* and Linux* operating systems. The options described can be used for compilations targeted to either IA-32 or Itanium®-based applications or both. See Conventions Used in the Options Quick Guide Tables.

Note
The table is based on the alphabetical order of compiler options for Linux, second column.

Note
The value in the Default column is used for both Windows and Linux operating systems unless indicated otherwise.

For more details on each of these options refer to the Intel® Fortran Compiler User's Guide, Volumes I and II, and the Intel® Fortran Compiler Manpages.

Windows Option

Linux Option

Description

 Default

/1

-1

Executes at least one iteration of DO loops (same as the -onetrip option). This option has the same effect as
-f66
or -66 .

OFF

/4L{72|80|132}

-72, -80, -132

Treats the statement field of each fixed-form source line as ending in column 72 (the default), 80, or 132 (same as the -extend_source option).

/4L72
-72

/align:keyword

-align keyword

Tells the compiler to align data items by adding padding bytes (same as the
-align all
option) as indicated by a keyword: all, none, [no]commons, dcommons, [no]recnbytes (n=1, 2, 4, 8, 16), [no]records, [no]sequence
See Intel® Fortran Compiler Manpages for more details.

-align nocommons
-align records
-align nosequence

-align rec8bytes

/Qansi_alias[-]

-ansi_alias

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

-ansi_alias-

None

-arch keyword
IA-32 only

Determines the version of the architecture for which the compiler generates instructions.
keyword
:
pn1
Optimizes for the Intel® Pentium® processor.
pn2
Optimizes for the Intel® Pentium® Pro, Intel® Pentium® II, and Intel® Pentium® III processors.
pn3
This is the same as specifying the -arch pn2 option.
pn4
optimizes for the Intel® Pentium® 4 processor.

-arch pn4

/assume:bscc

/assume bscc

Tells the compiler to treat the backslash character (\) as a C-style control (escape) character syntax in character literals. The default is
-assume nobscc
, which tells the compiler to treat the backslash character as a normal character instead of a control character in character literals.

-assume nobscc

/assume:keyword

-assume keyword

Specifies that assumptions are made by the optimizer and code generator according to the indicated keyword: none, [no]accuracy_sensitive, [no]bscc, [no]byterecl, [no]buffered_io, 
[no]dummy_aliases, 
[no]protect_constants
, [no]source_include,
[no]underscore
. 
See Intel® Fortran Compiler Manpages for details.

-assume none
 

/assume:cc_omp

-assume cc_omp

Enables conditional compilation as defined by the OpenMP Fortran API.
-openmp
enables this option: sets -assume cc_omp.

-assume cc_omp
with
-openmp  specified

/assume:minus0

-assume minus0

Tells the compiler to use Fortran 95 standard semantics for the treatment of IEEE* floating value -0.0 in the SIGN intrinsic, if the processor is capable of distinguishing the difference between -0.0 and +0.0, and to write a value of
-0.0 with a negative sign on formatted output.  

The default is -assume nominus0,  which tells the compiler to use Fortran 90/77 standard semantics in the SIGN intrinsic to treat -0.0 and +0.0 as 0.0, and to write a value of -0.0 with no   sign on formatted output.

OFF
(-assume
nominus0
)
 

/Qauto

-auto

Places variables, except those declared as SAVE, on the runtime stack (same as
-automatic
or -nosave.

-auto_scalar
or: if you specify -recursive or
-openmp
, the default is -auto

/Qauto_ilp32
Itanium-based systems

-auto_ilp32
Itanium-based systems

Specifies that the application cannot exceed a  32-bit address space, which allows the compiler to use 32-bit pointers whenever possible. To use this option, you must also specify -ipo.

Using the -auto_ilp32 option on programs that can exceed 32-bit address space (2**32) may cause unpredictable results during program execution.

OFF

/Qauto_scalar

-auto_scalar

Makes AUTOMATIC all scalar local variables of intrinsic type INTEGER, REAL, COMPLEX, or LOGICAL. You cannot specify -save, -auto or -automatic with this option.

OFF

/Qautodouble

-autodouble

Defines real variables to be REAL(KIND=8).This option is the same as specifying  
-r8
.

OFF

/automatic

-automatic

Places variables, except those declared as SAVE, on the runtime stack (same as
-auto
or -nosave). The default is -auto_scalar. However, if you specify recursive or -openmp,  the default is -auto.

-auto_scalar
or: if you specify
-recursive or
-openmp
,  the default is -auto.

/Qax{K|W|N|B|P}
IA-32 only

-ax{K|W|N|B|P}
IA-32 only

Generates processor-specific code corresponding to one of codes:

K - Intel® Pentium® III processors and compatible Intel processors.

W - Intel Pentium 4 processors and compatible Intel processors.

The *new codes: these options enable new optimizations in addition to Intel processor-specific optimizations.

(*new) N - Intel Pentium 4 processors and compatible Intel processors.

(*new) B - Intel® Pentium® M and compatible Intel processors.

(*new) P - Intel processors code-named "Prescott" and compatible Intel processors.

OFF

None

-Bdynamic

Enables dynamic linking of libraries at runtime. Smaller executables are created than with static linking.

OFF

/[no]browser

None

Specifies that source browser information should be (or not) generated in the indicated file if present.

OFF
(-nobrowser)

None

-Bstatic

Enables static linking of a user's library.

OFF

/c

-c

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

OFF

/CB

-CB

Performs runtime checks on whether array subscript and substring references are within declared bounds. Same as -check bounds.

OFF

/ccdefault: keyword

-ccdefault keyword

Specifies the type of carriage control used for units 6 and *;
keyword
=  default, fortran, list, or none.

-ccdefault default
can be affected by the
-vms option, see manpages

/check: keyword

-check keyword

Checks runtime conditions, according to the keyword: all, none, [no]arg_temp_created,            [no]bounds, [no]format,  [no]output_conversion

OFF
(
-nocheck or
(
-check none)

/cm

-cm

Suppresses all messages about questionable programming practices (same as the -warn nousage option).

OFF

/Qcommon_args

-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 is the same as specifying -assume dummy_aliases.

OFF

/Qcomplex_
limited_range[-]

-complex_
limited
_range[-]

Enables the use of basic algebraic expansions of some arithmetic operations involving data of type COMPLEX. This can cause some performance improvements in programs that use a lot of COMPLEX arithmetic, but values at the extremes of the exponent range may not compute correctly.

OFF
(-complex_
limited_
range-
, option disabled)

/convert:keyword

-convert keyword

Specifies the format of unformatted files containing numeric data indicated in a keyword: big_endian, cray,  fdx, fgx, ibm, little_endian, native, vaxd, vaxg.
See Intel® Fortran Compiler Manpages for more details.

OFF

/Qcpp

-cpp

Runs the Fortran preprocessor on source files prior to compilation (same as the -fpp option).

OFF

/Dname
/D
name[=value]

-Dname
-D
name[=value]

Defines the name as a definition to use with conditional compilation directives or the Fortran preprocessor (-fpp).  The value can be an integer or it can be a character string delimited by double quotes; for example,
-Dname="string"
. If no definition is given, the <name > is defined as "1".

OFF

/d_lines

-d_lines

Compiles debug statements (indicated by D in column 1); this is the same as specifying -DD.

-nod_lines

/Qd_lines

-DD

Compiles debugging statements indicated by the letter D in column 1 of the source code; this is the same as specifying -d_lines.

OFF

/double_size:size

-double_size size

Defines the size of DOUBLE PRECISION  and DOUBLE COMPLEX declarations, constants, functions, and intrinsics. The size can be 64  (default) or 128.

-double_
size 64

/Qdps[-]

-dps

Enable (default) or disable DEC* parameter statement recognition.

ON
 

/Bz

-dryrun

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

OFF

None

-dynamic-linker(file)

Speci fies a dynamic linker in file other than the default.

OFF

/Qdyncom:A,B,C

-dyncom "a,b,c"

Enables dynamic allocation of the specified COMMON blocks at run time. The quotes are required.

OFF

/E

-E

Causes the Fortran preprocessor to send output to stdout.

OFF

/4{Y|N}s

-e90, -e95

Causes the compiler to issue errors instead of warnings for nonstandard Fortran 90
(-e90) or Fortran 95 (-e95). No such errors or warnings are issued by default.

OFF (/4Ns)

/EP

-EP

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

OFF

/[no]error_
limit:
num

-[no]error_
limit
num

Specifies the maximum number of error-level or fatal-level compiler errors allowed for a file specified on the command line. A maximum of 30 error-level and fatal-level messages are allowed before the compiler stops the compilation.

-error_
limit 30

/Qextend_source:
[
size]

-extend_source [size]

Specifies the column number to use to end the statement field in fixed-form source files. size can be 72, 80, or 132. The default behavior is -noextend_source, which implies column 72. If you specify -extend_source with no size, the default is
-extend_source 132
. Specifying -extend_source sets the -fixed option.

-noextend_
source

/F

-F

Causes the Fortran preprocessor to send output to a file (same as the
-preprocess_only
and -P options). To use this option, you must also specify -fpp.

OFF

/f66 or -66

-f66 or -66

Enforces FORTRAN-66 semantics.

OFF
 

/f77rtl

-f77rtl

Tells the compiler to use the runtime behavior of FORTRAN 77 instead of
Intel® Fortran. This affects some INQUIRE specifiers when the unit is not connected to a file, PAD= defaults to 'NO’ for formatted input, NAMELIST input format is different, and NAMELIST and list-directed input of character strings must be delimited by apostrophes or quotes.

OFF
(-nof77rtl)

/fast

-fast

Enhances speed across the entire program. Sets the following command options that can improve runtime performance: -O3, -ipo, and
-static
.

OFF
 

/FAc

-fcode-asm

Produces an assembly file with optional code annotations. To use this option, you must also specify -S.

OFF

None

-fcommon

Tells the compiler to treat common symbols as global definitions and to allocate memory for each symbol at compile time. This may permit the compiler to use the more efficient GP-relative addressing mode when accessing the symbol.

OFF
(-fno-common)

/FI

-FI

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

Based on file extension

/fixed

-fixed

Specifies source files are in fixed format. By default, source file format is determined by the file suffix.

Based on file extension

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. Implies
-fvisibility=protected

OFF

/Oa[-]

-fno-alias

Specifies that aliasing should not be assumed in the program.

-falias
/Oa

/Ow[-]

-fno-fnalias

Specifies that aliasing should not be assumed within functions, but should be assumed across calls.

-ffnalias
/Ow

/Qfnsplit

-fnsplit-
Itanium-based systems

Enables function splitting (enabled with -prof_use). The default is -fnsplit-, which disables the splitting within a routine but leaves function grouping enabled.

-fnsplit-

/Oy-
IA-32 only

-fp
IA-32 only

Disables using EBP as a general purpose register so it can be used as a stack frame printer.

OFF

/Qfp_port

-fp_port
IA-32 only

Rounds floating-point results after floating-point operations, so rounding to user-declared precision happens at assignments and type conversions; this has some impact on speed. The default is to keep results of floating-point operations in higher precision; this provides better performance but less consistent floating-point results.

OFF

/fpconstant

-fpconstant

Tells the compiler to extend the precision to double precision for single-precision constants assigned to double-precision variables.

-nofpconstant 

/fpe:n

-fpen

Specifies floating-point exception handling at run time for the main program, n=0, 1, 3.

-fpe0 - floating underflow results in zero; all other floating-point exceptions abort execution;

-fpe1 - floating underflow results in zero; all other floating-point exceptions produce exceptional values (signed Infinities or NaNs) and execution continues;

-fpe3 - all floating-point exceptions produce exceptional values (signed infinities, denormals, or NaNs) and execution continues; this is the default. Also see -ftz.

/fpe:3
-fpe3

None

-fpic, -fPIC

Generates position-independent code. Can also be specified as -fPIC.

OFF

/Qfpp:n

-fpp n

Runs the Fortran preprocessor on source files prior to compilation.
n
=0: disables CVF and # directives (equivalent to -nofpp).
n
=1: enables CVF conditional compilation and # directives; when Fortran preprocessor is invoked,
-fpp1
is the default
n
=2: enables only # directives;
n
=3: enables only CVF conditional compilation directives.

OFF

/fpscomp
[:
keyword]

-fpscomp
[
keyword]

Specifies a level of compatibility with Microsoft* Fortran PowerStation as indicated by a keyword: all, none, [no]filesfromcmd, [no]general, [no]ioformat, [no]libs, [no]logicals.

For all and nolibs:
-fpscomp libs

For the rest:
-fpscomp none

/Qfpstkchk
IA-32 only

-fpstkchk
IA-32 only

Generates extra code after every function call to assure that the FP (floating-point) stack is in the expected state. By default, there is no checking. So when the FP stack overflows, NaN value is put into FP calculations, and the program’s results differ. Unfortunately, the overflow point can be far away from the point of the actual bug. The -fpstkchk option places code that would access-violate immediately after an incorrect call occurred, thus making it easier to locate these issues.

OFF

/FR

-FR

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

Based on source file extension

None

-fr32
Itanium compiler

Disables use of high floating-point registers. Uses only the lower 32 floating-point registers.

OFF

/free

-free

Specifies source files are in free format. By default, source file format is determined by the file suffix.

Based on source file extension

/FAs

-fsource-asm

Produces an assembly file with optional code annotations. To use this option, you must also specify -S.

OFF

/Qftz[-]

-ftz[-]

Enables (or disables: -ftz-) floating underflow results set to zero. For Itanium-based systems only: option -O3 sets -ftz on.

-ftz-

None

-fverbose-asm

Produces an assembly file with compiler comments, including options and version information. To use this option, you must also specify -S, which sets -fverbose-asm. If you do not want this default when you specify -S,  specify -fnoverbose-asm.

-fnoverbose-asm

None

-fvisibility=
keyword

-fvisibility-
keyword=
file

The first form specifies the default visibility for global symbols using one of the five command line options corresponding to the keyword: external, default, protected, hidden, and internal.

The second form specifies the visibility for symbols that are in a file (this form overrides the first form). The file  is the pathname of a file containing the list of symbols whose visibility you want to set; the symbols are separated by whitespace (spaces, tabs, or newlines).
See Intel® Fortran Compiler Manpages for more details.

OFF

None

-fwritable-strings

Specifies that string literals should be placed in a writable data section. This option is used for compatibility with old programs that write into string literals.

OFF

/Zi, /Z7

-g

Produces symbolic debug information in the object file. The compiler does not support the generation of debugging information in assemblable files. If you specify the -g option, the resulting object file will contain debugging information, but the assemblable file will not.

On IA-32 systems, specifying the -g or -O0 option automatically enables the
-fp
option.

OFF

/help

-help

Prints the list of compiler options.

OFF

/Idir

-Idir

Specifies a directory to add to the include path, which is used to search for module files (USE statement) and include files (INCLUDE statement).

OFF

None

-i_dynamic

Links Intel-provided libraries dynamically.

OFF

/4I{2|4|8}

-i{2|4|8}

Defines the default KIND for integer variables and constants to be 2, 4, and 8 bytes (same as
-integer_size {16|32|64} )

/4I4
-i4

/4{Y|N}d

-implicitnone

Sets the default type of a variable to undefined (IMPLICIT NONE). Same as the  -u option.

OFF

/Qinline_
debug_info

-inline
_debug_info

Preserves the source position of inlined code instead of assigning the call-site source position to inlined code.

OFF

/intconstant

-intconstant

Tells the compiler to use FORTRAN 77 semantics, rather than Fortran 95/90 semantics, to determine the KIND for integer constants.

OFF

/integer_size:
size

-iteger_size
size

Defines the size of INTEGER and LOGICAL variables. The size can be 16, 32, or 64.

-integer_
size 32

/Qip

-ip

Enables single-file interprocedural optimizations.

OFF

/Qip_no
_inlining

-ip_no_inlining

Disables full and partial inlining enabled by -i8. To use this option, you must specify -ip or -ipo.

OFF

/Qip_no
_pinlining

IA-32 only

-ip_no
_pinlining

IA-32 only

Disables partial inlining. To use this option, you must specify -ip or -ipo.

OFF

/QIPF_fltacc[-] 
Itanium-based systems

-IPF_fltacc[-] 
Itanium-based systems

Disables optimizations that affect floating-point accuracy. If the default setting is used (-IPF_fltacc-), the compiler may apply optimizations that reduce floating−point accuracy. You can use -IPF_fltacc or -mp to improve floating-point accuracy, but at the cost of disabling some optimizations.

-IPF_fltacc-

/QIPF_flt_eval
_method0
 
Itanium-based systems

-IPF_flt_eval
_method0
 
Itanium-based systems

Directs the compiler to evaluate the expressions involving floating-point operands in the precision indicated by the variable types declared in the program. By default, intermediate floating-point expressions are maintained in higher precision.

OFF

/QIPF_fma[-] 
Itanium-based systems

-IPF_fma
Itanium-based systems

Enables the combining of floating-point multiplies and add/subtract operations. Also enables the contraction of floating-point multiply and add/subtract operations into a single operation. The compiler contracts these operations whenever possible. However, if -mp is specified, these contractions are disabled.

-IPF_fma-

/QIPF_fp
_speculation
mode 
Itanium-based systems

-IPF_fp_
speculation
mode 
Itanium-based systems

Enables floating-point speculations with one of the following mode conditions:

fast −Speculate floating-point operations.
off
−Disables speculation of floating-point operations.
safe
−Speculate only when safe.
strict
−This is the same as specifying off.

-IPF_fp_
speculation

fast
 

/Qipo

-ipo

Enables mult file IP optimizations (between files). When you specify this option, the compiler performs inline function expansion for calls to functions defined in separate files. For this reason, it is important to compile the entire application or multiple, related source files together when you specify -ipo.

OFF

/Qipo_c

-ipo_c

Generates a multifile object file (ipo_out.o) that can be used in further link steps.

OFF

/Qipo_obj

-ipo_obj

 Forces the generation of real object files. Requires -ipo.

IA-32: OFF
Itanium Compiler
: ON

/Qipo_S

-ipo_S

Generates a multi file assembly file (ipo_out.s) that can be used in further link steps.

OFF

/Qivdep_parallel
Itanium-based systems

-ivdep_parallel
Itanium-based systems

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

OFF

None

-Kpic

This is a deprecated option; it can also be specified as
-KPIC
. Use -fpic instead.

OFF

None

-Ldir

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

OFF

/libdir:all

-[no]libdir
[
keyword]

Controls the library names that should be emitted into the object file as indicated in a keyword: all, [no]automatic, [no]user.

-libdir all

None

-lname

Links with the library indicated in name.

OFF

/Qlowercase

-lowercase

Causes the compiler to ignore case differences in identifiers and to convert external names to lowercase (same as the -names lowercase option). This is the default.

Windows: OFF
Linux: ON
 

/iface:mixed_
str_len_arg

-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. The default
(-nomixed_str_len_arg) places the hidden lengths in sequential order at the end of the argument list.

OFF

/Fmfilename

None

Instructs the linker to produce a map file.

OFF

/module:dir
 

-module dir
 

Specifies the directory dir where module (.mod) files should be placed when created and where they should be searched for (USE statement).

OFF

/Op[-]

-mp

Maintains floating-point precision (while disabling some optimizations). Restricts optimization to maintain declared precision and to ensure that floating-point arithmetic conforms more closely to the ANSI* and IEEE standards.

For most programs, specifying this option adversely affects performance. If you are not sure whether your application needs this option, try compiling and running your program both with and without it to evaluate the effects on both performance and precision.

OFF

/Qprec

IA-32 compiler

-mp1

IA-32 compiler

Improves floating-point precision. This option disables fewer optimizations and has less impact on performance  than -mp.

OFF

/names:keyword

-names keyword

Specifies how source code identifiers and external names are interpreted as indicated by a keyword: as_is, lowercase, uppercase

OFF

/nbs

-nbs

Tells the compiler to treat a backslash as a normal character, not an escape character (same as the
-assume nobscc
option).

OFF

None

-no_cpprt

Prevents linking of the C++ runtime libraries.

OFF

/align:none

-noalign

Prevents the alignment of data items. This is the same as specifying -align none.

-align

/noaltparam

-noaltparam

Speci fies that the alternate form of parameter constant declarations (without parenthesis) should not be recognized (same as the
-nodps
option).This form has no parentheses surrounding the list, and the form of the constant, rather than implicit or explicit typing, determines the data type of the variable.

-altparam

/Qnobss_init

-nobss_init

Places any variables that are explicitly initialized with zeros in the DATA section. By default, variables explicitly initialized with zeros are placed in the BSS section.

OFF

None

-nodefaultlibs

Prevents the compiler from using standard libraries when linking.

OFF

/nodefine

-nodefine

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

OFF

/Qdps-

-nodps

Specifies that the alternate form of parameter constant declarations (without parenthesis) should not be recognized (same as the
-noaltparam
option).

-dps

None

-nofor_main

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

OFF

/noinclude

-noinclude

Prevents the compiler from searching in /usr/include for files specified in an INCLUDE statement. You can specify the -Idir option along with this option. This option does not affect
cpp(1)
behavior, and is not related to the Fortran 95 and 90 USE statement.

ON

/Oi-

-nolib_inline

Disables inline expansion of intrinsic functions.

ON

/nologo

-nologo

Suppresses compiler version information.

OFF

None

-nostartfiles

Prevents the compiler from using standard startup files when linking.

OFF

None

-nostdinc

Remove standard directories from 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 subroutine names.

OFF

/Fafile
/Fo
file
/Fe
file

-ofile

Speci fies the name for an output file.

OFF

/Od

-O0

Disables -On optimizations. On IA-32 systems, this option sets the -fp option.

OFF

/O1

-O1

On IA-32 systems,enables optimizations for speed. Also disables intrinsic recognition and the -fp option. This option is the same as the
-O2
option.

On Itanium(R)-based systems, enables optimizations for server applications (straight-line and branch-like code with flat profile). Enables optimizations for speed,while being aware of code size.For example, this option disables software pipelining and loop unrolling.

OFF

/O2

-O2, -O

This option is the default for optimizations. However,if -g is specied, the default is -O0.

On IA-32 systems, this option is the same as the -O1 option.

On Itanium-based systems, enables optimizations for speed, including global code scheduling, software pipelining, predication, and speculation.

On these systems, the -O2 option enables inlining of intrinsics. It also enables the following capabilities for performance gain: constant propagation, copy propagation, dead-code elimination, global register allocation, global instruction scheduling and control speculation, loop unrolling, optimized code selection, partial redundancy elimination, strength reduction/induction variable simplification, variable renaming, exception handling optimizations, tail recursions, peephole optimizations, structure assignment lowering and optimizations, and dead store elimination.

ON

/O3

-O3

Enables -O2 optimizations plus more aggressive optimizations, such as prefetching, scalar replacement, and loop transformations. Enables optimizations for maximum speed, but does not guarantee higher performance unless loop and memory access transformation take place.

On IA-32 systems, when the
-O3
option is used with the
-ax
and -x options, it causes the compiler to perform more aggressive data dependency analysis than for -O2, which may result in longer compilation times.

On Itanium-based systems, enables optimizations for technical computing applications (loop-intensive code): loop optimizations and data prefetch.

OFF

/Ob{0|1|2}

-Ob{0|1|2}

Controls inline expansion. The amount of inline expansion performed varies as follows:

-Ob0: disable inlining; however, statement functions are always inlined.

-Ob1: Enables inlining of routines.This is the default.

-Ob2: enables inlining of any routine, at the compiler ’s discretion. Enables  interprocedural optimizations (has the same effect as the
-ip
option).

-Ob1

/Qonetrip

-onetrip

Executes at least one iteration of DO loops (same as the -1 option). This option has the same effect as -f66 or -66.

OFF

/Qopenmp

-openmp

Enables the parallelizer to generate multithreaded code based on OpenMP* directives. The code can be executed in parallel on both uniprocessor and multiprocessor systems. The -openmp option works with both -O0 (no optimization) and any optimization level of -On. Specifying -O0 with
-openmp
helps to debug OpenMP applications.

OFF

/Qopenmp
_report{0|1|2}

-openmp
_report{0|1|2}

Controls the OpenMP parallelizer ’s level of diagnostic messages.

0 − Displays no diagnostic information.

1 − Displays diagnostics indicating loops, regions, and sections successfully parallelized.

2 − Displays the diagnostics specified by
-openmp_report1
plus diagnostics indicating MASTER constructs, SINGLE constructs, CRITICAL constructs, ORDERED constructs, ATOMIC directives, etc., successfully handled.

-openmp
_report1

/Qopenmp_stubs

-openmp_stubs

Enables the compiler to generate sequential code. The OpenMP directives are ignored and a stub OpenMP library is linked.

OFF

/Qopt_report

-opt_report

Generates an optimization report and directs to stderr unless -opt_report_file is specified.

OFF

/Qopt_report
_file
filename

-opt_report
_file
filename

Specifies the filename to hold the optimizations report.

OFF

/Qopt_report
_help

-opt_report
_help

Lists the logical names of optimizers available for report generation (for
-opt_report_phase
).

OFF

/Qopt
_report_level
{
min|med|max}

-opt
_report_level
{
min|med|max}

Specifies the detail level of the optimizations report.

-opt_report
-level
min

/Qopt_report
_phase
phase

-opt_report
_phase
phase

Specifies the phase against which reports are generated. The compiler generates reports for the optimizer you specify in phase. This option can be used multiple times on the same command line to generate reports for multiple optimizers. Currently, the following optimizer reports are supported:

ipo − Interprocedural Optimizer
hlo
− High Level Optimizer
ilo
− Intermediate Language Scalar Optimizer
ecg
− Code Generator
omp
− Open MP
all
− All phases

When one of the above logical names for optimizers is specified for phase, all reports from that optimizer are generated.

OFF

/Qopt_report
_routine
[substring]

-opt_report_
routine
[substring]

Generates a report on the routines containing the speci fied substring . If substring  is not specified, reports from all routines are generated.

OFF

None

-p

Compiles and links for function profiling with gprof (1). This is the same as specifying -pg or -qp .

OFF

/P

-P

Causes the Fortran preprocessor to send output to a file (same as the
-preprocess_only
and -F options). To use this option, you must also specify -fpp.

OFF

/Qpad[-]

-pad

Enables the changing of the variable and array memory layout.

OFF (-nopad)

/Qpad_source

-pad_source

Specifies that fixed-form source records shorter than the statement field width are to be padded with spaces (on the right) to the end of the statement field. This affects the interpretation of character and Hollerith literals that are continued across source records.

OFF

/Qpar_
report{0|1|2|3}

-par_
report{0|1|2|3}

Controls the auto-parallelizer diagnostic messages.

0 − Displays no diagnostic information.
1 − Displays diagnostics indicating loops successfully auto-parallelized. This is the default. Issues a "LOOP AUTO-PARALLELIZED" message for parallel loops.
2 − Displays diagnostics indicating loops successfully auto-parallelized, as well as unsuccessful loops.
3 −Displays the diagnostics specified by -par_report2 plus additional information about any proven or assumed dependencies inhibiting auto-parallelization (reasons for not parallelizing).

-par
_
report1

/Qpar
_threshold{n}

-par
_threshold{n}

Sets a threshold for the auto-parallelization of loops based on the probability of profitable execution of the loop in parallel. This option is used for loops whose computation work volume cannot be determined at compile-time. The threshold is usually relevant when the loop trip count is unknown at compile-time.
n
=0 to 100. The compiler applies a heuristic that tries to balance the overhead of creating multiple threads versus the amount of work available to be shared amongst the threads.

n=100

/Qparallel

-parallel

Enables the auto-parallelizer to generate multithreaded code for loops that can be safely executed in parallel. To use this option, you must also specify -O2 or -O3.

OFF

/Qpc{32|64|80}
  IA-32 only

 

-pc32
-pc64
-pc80

IA-32 only

Enables floating-point significand precision control as follows:
-pc32
to 24-bit significand
-pc64
to 53-bit significand
-pc80
to 64-bit significand
See Intel® Fortran Compiler Manpages for more details.

/Qpc64
-pc64

/[no]pdbfile: [file]

None

Specifies that any debug-related information should (or should not) be generated to a program database file.

OFF
(-nopdbfile)

None

-pg

Compile and link for function profiling with gprof(1). This is the same as specifying -p or -qp.

OFF

/Qprec_div
IA-32 only

-prec_div
IA-32 only

Disables floating point division-to-multiplication optimization resulting in more accurate division results. Slight speed impact.

OFF

/Qprefetch[-]
IA-32 only

-prefetch[-]
IA-32 only

Enables or disables prefetch insertion (requires -O3).

OFF

None

-preprocess
_only

Causes the Fortran preprocessor to send output to a file (same as the -F and -P options). To use this option, you must also specify -fpp.

OFF

/Qprof_dirdir

-prof_dirdir

Specifies a directory for profiling output files, *.dyn and *dpi.

OFF

/Qprof_filefile

-prof_filefile

Specifies a file name file for the profiling summary file.

OFF

/Qprof_format_32

-prof_format_32

Produces profile data with 32-bit counters; allows compatibility with earlier compilers. The default is to produce profile data with 64-bit counters to handle large numbers of events.

OFF

/Qprof_gen

-prof_gen

Instruments a program for profiling.

OFF

/Qprof_use

-prof_use

Enables use of profiling  information during optimization.

OFF

None

-Qinstall,dir

Sets dir as a root directory for compiler installation.

OFF

/Qlocation,
tool
,path

-Qlocation,
tool
,path

Specifies an alternate version of a tool located at path.

OFF

/Qoption,
tool
,opts

-Qoption,tool,
opts

Passes options, opts, to the tool specified by tool , which can be fpp, f, c, asm (on IA-32 systems), ias (on Itanium-based systems), or link.

OFF

None.

-qp

Compile and link for function profiling with prof(1) tool. This is the same as specifying -p or -pg.

OFF

/4R{8|16}

-r{8|16}

Defines the KIND for real variables in 8 and 16 bytes.
-r8
: Defines REAL declarations, constants, functions, and intrinsics as DOUBLE PRECISION REAL*8, and defines COMPLEX declarations, constants, functions, and intrinsics as DOUBLE COMPLEX  (COMPLEX*16). This option is the same as specifying -real_size 64 or -autodouble.

-r16: Defines REAL and DOUBLE PRECISION declarations, constants, functions, and intrinsics as  REAL*16, and defines COMPLEX and DOUBLE COMPLEX declarations, constants, functions, and intrinsics as COMPLEX*32. This option is the same as specifying -real_size 128.

-r8

/Qrcd
IA-32 only

-rcd
IA-32 only

Disables the change to truncation of the rounding mode for all floating-point calculations, including floating point-to-integer conversions. This option can improve performance, but floating-point conversions to integer will not conform to Fortran semantics.

OFF

/real_size:size

-real_size size

Defines the size of REAL and COMPLEX declarations, constants, functions, and intrinsics. The size can be 32, 64, or 128.

-real_size 32

/recursive

-recursive

Specifies that all routines should be compiled for possible recursive execution. This option sets the -auto option.

OFF

/reentrancy:
keyword

-reentrancy
keyword

Specifies that the compiler should generate reentrant code that supports a multithreaded application. keyword: none, threaded, async.

OFF

/S

-S

Causes the compiler to compile to an assembly file (.s) only and not link.

OFF

/Qsafe_cray_ptr

-safe_cray_ptr

Specifies that CRAY* pointers do not alias with other variables.

OFF

/Qsave

-save

Places variables, except those declared as  AUTOMATIC, in static memory (same as -noauto or
-noautomatic
). The default is -auto_scalar. However, if you specify -recursive or -openmp, the default is
-auto
.

OFF

/Qscalar_rep[-]
IA-32 only

-scalar_rep[-]
IA-32 only

Enables scalar replacement performed during loop transformation. To use this option,you must also specify -03.

OFF
(-scalar_
rep-)

None

-shared

Tells the compiler to produce a dynamic shared object instead of an executable. On Itanium-based systems, you must specify -fpic for the compilation of each object file you want to include in the shared library.

OFF

None

-shared-libcxa

Links the Intel libcxa C++ library dynamically, overriding the default behavior when
-stati
c is used. This option is the opposite of -static-libcxa.

ON

/Qsox[-]

-sox[-]
IA-32 only

Enables saving of the compiler options and version in the executable.

OFF (-sox-)

/stand:keyword

-stand keyword

Causes the compiler to issue compile-time messages for nonstandard language elements. keyword: f90, f95, none.

OFF (-nostand or
-stand none
)

None

-static

Prevents linking with shared libraries. Causes the executable to link all libraries statically.

OFF

None

-static-libcxa

Links the Intel libcxa C++ library statically. This option is the opposite of -shared-libcxa.

OFF

/stand:f90

-std90

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

OFF

/stand:f95

 

-std95 or -std

Causes the compiler to issue messages for language elements that are not standard in Fortran 95 (same as the -stand f95 option). This option is set if you specify -warn stderrors.

OFF

/Zs

-syntax_only

Speci fies that the source file should be checked only for correct syntax (same as the -syntax and -y options). No code is generated, no object file is produced, and some error checking done by the optimizer is bypassed. This option lets you do a quick syntax check of your source file.

OFF

None

-T file

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

OFF

/Tffile

-Tffile

Speci fies that file should be compiled as a Fortran source file. This option is useful when you have a file with a nonstandard filename suffix.

OFF

/threads

-threads

Specifies that multithreaded libraries should be linked. This option sets the
-reentrancy
threaded option.

OFF
(-nothreads)

/G1
Itanium-based systems

-tpp1
Itanium-based systems

Optimizes for the Intel® Itanium® processor.

OFF

/G2
Itanium-based systems

-tpp2
Itanium-based systems

Optimizes for the Intel® Itanium® 2 processor. This is the default on Itanium-based systems.

/G2
-tpp2

/G{5|6|7}
IA-32 only

-tpp{5|6|7}
IA-32 only

-tpp5 optimizes for the Intel® Pentium® processor.
-tpp6
optimizes for the Intel Pentium Pro, Pentium II, and Pentium III processors.
-tpp7
optimizes for the Intel Pentium 4 processors, Intel® Xeon(TM) processors, Intel® Pentium® M processors, and Intel processors code-named "Prescott." This is the default on IA-32 systems.

/G7
-tpp7

/traceback

-traceback

Tells the compiler to generate extra information in the object file to allow the display of source file traceback information at runtime when a severe error occurs.

OFF

None

-tune keyword
IA-32 only

Determines the version of the architecture for which the compiler generates instructions. keyword:
-tune pn1 -
optimizes for the Intel® Pentium® processor.
-tune pn2 -
optimizes for the Intel® Pentium® Pro, Intel® Pentium® II, and Inte® Pentium® III processors.
-tune pn3 -
optimizes for the Intel® Pentium® Pro, Intel® Pentium® II, and Intel® Pentium® III processors. This is the same as specifying the -tune pn2 option.
-tune pn4 -
optimizes for the Intel® Pentium® 4 processor. This is the default.

-tune pn4

/4{Y|N}d

-u

Sets the default type of a variable to undefined (IMPLICIT NONE). This is the same as specifying the
-implicitnone
option.

ON

/Uname

-Uname

Removes the predefined macro name.

OFF

/Qunroll[n]

-unroll[n]

Sets the maximum number of times to unroll loops. Use
-unroll0
to disable loop unrolling. The default is
-unroll
, which tells the compiler to use default heuristics.

-unroll

/Quppercase

-uppercase

Causes the compiler to ignore case differences in identifiers and to convert external names to uppercase (same as the -names uppercase option). The default is -lowercase (or -names lowercase).

Windows*: ON
Linux*: OFF

None

-us

Tells the compiler to append an underscore character to external user-defined names (opposite of -nus). Specifying -us is the same as specifying the -assume underscore option.

 

None

-use_asm
 

Tells the compiler to produce objects through the assembler.

OFF

/QV

-V

Displays compiler version information.

OFF

None

-v

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

OFF

/Qvec_report{n}
IA-32 only

-vec_report{n}
IA-32 only

Controls amount of vectorizer diagnostic information as follows:
n
= 0: no information
n
= 1: indicates vectorized loops (default)
n
= 2: indicates vectorized  and non-vectorized loops
n
= 3: indicates vectorized  and non-vectorized loops and prohibiting data dependence information
n
= 4: indicates non-vectorized loops
n
= 5: indicates non-vectorized loops and prohibiting data dependence information.

-vec_report1

/Qvms

-vms

Causes the runtime system to behave like HP* Fortran for OpenVMS Alpha systems and VAX systems (VAX FORTRAN*) in various ways. See Intel® Fortran Compiler Manpages for details.

OFF

/w

-w

Disables all warning messages (same as the
-nowarn
and -warn nogeneral options).

OFF

/W{0|1}

-W{0|1}

Disables warnings (n =0) or enables warnings (n =1). The default is -W1 (same as the
-warn general
option).
-W0
is the same as specifying -warn nogeneral, -nowarn, or -w.

-W1

/w90, /w95

-w90, -w95

Suppresses warning messages about  Fortran features which are deprecated or obsolescent in either Fortran 90 or Fortran 95.

OFF

/warn:keyword

-warn keyword

Specifies the level of warning messages issued by the compiler as indicated by a keyword: all, none, [no]alignments,  [no]declarations, [no]errors, [no]general, [no]ignore_loc, [no]stderrors, [no]truncated_source, [no]uncalled, [no]unused, [no]usage. See Intel® Fortran Compiler Manpages for details.

OFF
(-warn none or -warn nokeyword)

/what

-what

Prints the version strings of the Fortran command and the compiler.

OFF

/link 01[,O2]

-Wl o1 [, o2...]

Passes options -o1, -o2, etc. to the linker for processing.

OFF

/fpp:o1[,O2]

-Wp o1 [, o2...]

Passes options -o1, -o2, etc. to the preprocessor.

OFF

/X

-X

Removes standard directories from the include file search path (same as the
-nostdinc
option). You can use the -X option with the -I option to prevent the compiler from searching the default path for include files and direct it to use an alternate path.

OFF

/Qx{K|W|N|B|P}
IA-32 only

-x{K|W|N|B|P}
IA-32 only

Generates specialized code to run on processors supporting the extensions indicated by processor-specific codes:

K - Intel® Pentium® III processors and compatible Intel processors.

W - Intel Pentium 4 processors and compatible Intel processors.

The *new codes: when the main program is compiled with one of these options, it will detect non-compatible processors and generate a fatal error message during execution. These options also enable new optimizations in addition to Intel processor specific-optimizations.

(*new) N - Intel Pentium 4 processors and compatible Intel processors.

(*new) B - Intel® Pentium® M and compatible Intel processors.

(*new) P - Intel processors code-named "Prescott" and compatible Intel processors.

OFF

/link val

-Xlinker val

Pass val directly to the linker for processing.

OFF

/Zs

-y

Specifies that the source file should be checked only for correct syntax (same as the
-syntax_only
and
-syntax
options).

OFF

/Qzero[-]

-zero

Initializes to zero all local scalar variables of intrinsic type INTEGER, REAL, COMPLEX, or LOGICAL, which are saved and not already initialized.

OFF
(/Qzero-)
(-zero-)

/Zp{1|2|4|8|16}

-Zp{1|2|4|8|16}

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 (same as the -align recnbyte option). The n can be:1, 2, 4, 8, or 16. If you do not specify n, you get -Zp8, which is the default.

-Zp8