Compiler Options Quick Reference Alphabetical

The following table describes options that you can use for compilations you target to either IA-32- or Itanium-based applications or both. See Conventions Used in the Options Quick Guide Tables.

Option

Description

Default

-0f_check
IA-32 compiler

Enables a software patch for Pentium processor 0f erratum.

OFF

-1

Executes any DO loop at least once. Same as -onetrip.

OFF

-72, -80, -132

Specifies 72, 80 or 132 column lines for fixed form source only. The compiler might issue a warning for non-numeric text beyond 72 for the -72 option.

-72

-A-

Removes all predefined macros. Issues a warning if OpenMP does not work correctly.

OFF

-align

Analyzes and reorders memory layout for variables and arrays. (Same as -Zp{n}.)

To disable, use the -noalign option (default is OFF)

ON

-ansi[-]

Enables (default) or disables assumption of the programs ANSI conformance.

ON

-auto

Causes all variables to be allocated on the stack, rather than in local static storage. Does not affect variables that appear in an EQUIVALENCE or SAVE statement, or those that are in COMMON. Makes all local variables AUTOMATIC.  

OFF

-autodouble

Sets the default size of real numbers to 8 bytes; same as -r8.

OFF

-auto_scalar

Makes scalar local variables AUTOMATIC.

ON

-ax{i|M|K|W}
 

IA-32 compiler

Generates code that is optimized for a specific processor, but that will  execute on any IA-32 processor. Compiler generates multiple versions of some routines, and chooses the best version for the host processor at runtime indicated by processor-specific codes i (Pentium® Pro), M (Pentium with MMX(TM) technology), K (Pentium III), and W (Pentium 4 and Xeon(TM)).

OFF

-bd,progname

Enables the Intel® Fortran Compiler binder to generate a list of objects to build a PROGNAME.

OFF

-c

Stops the compilation process after an object file (.o) has been generated.

OFF

-C90

Links with an alternative I/O library (libCEPCF90.a) that supports mixed input and output with C on the standard streams.

OFF

-C
IA-32 compiler

Equivalent to: (-CA, -CB, -CS, -CU, -CV) extensive runtime diagnostics options.

OFF

-CA
IA-32 compiler

Generates runtime code, which checks pointers and allocatable array references for nil. Should be used in conjunction with -d{n}.

OFF

-CB

IA-32 compiler

Generates runtime code to check that array subscript and substring references are within declared bounds. Should be used in conjunction with -d{n}.

OFF

-CS

IA-32 compiler

Generates runtime code that checks for consistent shape of intrinsic procedure. Should be used in conjunction with -d{n}.

OFF

-CU

IA-32 compiler

Generates runtime code that causes a runtime error if variables are used without being initialized. Should be used in conjunction with -d{n}.

OFF

-CV

IA-32 compiler

On entry to a subprogram, tests the correspondence between the actual arguments passed and the dummy arguments expected. Both calling and called code must be compiled with -CV for the checks to be effective. Should be used in conjunction with -d{n}.

OFF

-cerrs[-]

Enables/disables errors and warning messages to be printed in a terse format for diagnostic messages.

OFF

-cl,file

Specifies a program unit catalog list file in which to search for referenced modules.

OFF

-cm

Suppresses all comment messages.

OFF

-common_args

Assumes by reference subprogram arguments may alias one another.

OFF

-cpp{n}

Same as -fpp{n}.

OFF

-DD

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

OFF

-DX

Compiles debugging statements indicated by the letters X in column 1 of the source code.

OFF

-DY

Compiles debugging statements indicated by the letters Y in column 1 of the source code.

OFF

-d{n}

IA-32 compiler

Sets diagnostics level as follows:
-d0
- displays procname line
-d1
- displays local scalar variables
-d2
- local and common scalars
-d>2
- display first n elements of local and COMMON arrays, and all scalars.

OFF

-Dname[={#|text}]

Defines a macro name and associates it with the specified value.

OFF

-doubletemps

Ensures that all intermediate results of floating-point expressions are maintained in at least double precision.

OFF

-dps, -nodps

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

-dps

-dryrun

Show driver tool commands but do not execute tools.

OFF

-E

Preprocesses the source files and writes the results to _stdout. If the file name ends with capital F, the option is treated as
-fpp{n}
.

OFF

-e90, -e95

Enables/disables issuing of errors rather than warnings for features that are non-standard Fortran.

OFF

-EP

Preprocesses the source files and writes the results to stdout omitting the #line directives.

OFF

-extend_source

Enables extended (132-character) source lines. Same as -132.

OFF

-F

Preprocesses the source files and writes the results to file.

OFF

-falias

Enables aliasing in program.

ON

-fno-alias

Disables aliasing in program.

OFF

-ffnalias

Enables aliasing across functions.

ON

-fno-fnalias

Disables aliasing across functions, but enables aliasing across calls.

OFF

-fcode_asm

Produces assembly file with optional code byte annotations.

OFF

-fsource_asm

Produces assembly file with optional high-level source code annotations.

OFF

-fverbose-asm

Produces assembly file with compiler comments including compiler version and options.

ON

-fnoverbose-asm

Produces assembly file without compiler comments.

OFF

-FI

Specifies that the source code is in fixed format. This is the default for source files with the file extensions .for, .f, or .ftn.

OFF

-fp

IA-32 compiler

Disables the use of the ebp register in optimizations.  

OFF

-fpp{n}

Runs the Fortran preprocessor (fpp) on all Fortran source files (.f, .ftn, .for, and .f90 files) prior to compilation.
n
=0: disable CVF and #directives n=1: enable CVF conditional compilation and # directives (default)
n
=2: enable only # directives,
n
=3: enable only CVF conditional compilation directives.

-fpp1

-fp_port

IA-32 compiler

Rounds floating-point results at assignments and casts. Some speed impact.

OFF

-FR

Specifies that the source code is in Fortran free format. This is the default for source files with the .f90 file extensions.

OFF

-ftz

Itanium compiler

Flushes denormal results to zero.

OFF

-g

Generates symbolic debugging information and line numbers in the object code for use by source-level debuggers.

OFF

-G0

Prints source listing to stdout (typically your terminal screen) with the contents of expanded INCLUDE files.

OFF

-G1

Prints a source listing to stdout, without contents of expanded INCLUDE files.

OFF

-help

 Prints help message.

OFF

-i{2|4|8}

Defines the default KIND for integer variables and constants in 2, 4, and 8 bytes.

-i4

-ic

Runs independent Fortran compilation without accessing and updating Fortran compilation environment (FCE).

OFF

-Idir

Specifies an additional directory to search for include files whose names do not begin with a slash (/).

OFF

-i_dynamic

Enables to link Intel-provided libraries dynamically.

OFF

-implicitnone

Enables the IMPLICIT NONE.

OFF

-inline_debug_info

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

OFF

-ip

Enables single-file interprocedural optimizations.

OFF

-ip_no_inlining

Disables full or partial inlining that would result from the -ip interprocedural optimizations. Requires -ip or -ipo.

ON

-ip_no_pinlining
IA-32 compiler

Disables partial inlining. Requires -ip or -ipo.

OFF

-IPF_fma[-] 
Itanium compiler

Enables/disables the contraction of floating-point multiply and add/ subtract operations into a single operation.

ON

-IPF_fp_speculationmode 
Itanium compiler

Sets the compiler to speculate on fp operations in one of the following modes:
fast
: speculate on fp operations;
safe
: speculate on fp operations only when it is safe;
strict
: enables the compiler's speculation on floating-point operations preserving floating-point status in all situations; same as off in the current version.
off
: disables the fp speculation.

-IPF_fp_
speculation

fast

-IPF_flt_eval_method0 
Itanium compiler

-IPF_flt_eval_method0 directs the compiler to evaluate the expressions involving floating-point operands in the precision indicated by the program.

OFF

-IPF_fltacc[-] 
Itanium compiler

Enables/disables the compiler to apply optimizations that affect floating-point accuracy. By default, the compiler may apply optimizations that affect floating-point accuracy. -IPF_fltacc- disables such optimizations. -IPF_fltacc- is effective when -mp is on.

ON

-ipo

Enables interprocedural optimization across files. Compile all objects over entire program with multifile interprocedural optimizations.

OFF

-ipo_c

Optimizes across files and produces a multifile object file. This option performs optimizations as
-ipo
, but stops prior to the final link stage, leaving an optimized object file.

OFF

-ipo_obj

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

IA-32: OFF  Itanium Compiler: ON

-ipo_S

Optimizes across files and produces a multifile assembly file. This option performs optimizations as
-ipo
, but stops prior to the final link stage, leaving an optimized assembly file.

OFF

-ivdep_parallel 
Itanium compiler

Indicates there is absolutely no loop-carried memory dependency in the loop where IVDEP directive is specified.

OFF

-Kpic, -KPIC

Generates position-independent code.

OFF

-Ldir

Instructs linker to search dir for libraries.

OFF

-lname

Links with a library indicated in name.

OFF

-lowercase

Controls the case of routine names and external linker symbols to all lowercase characters.

ON

-Map

Instructs the linker to produce a map file.

OFF

-mp

Maintains declared floating point precision  as well as conformance to the IEEE 754 standards for floating-point arithmetic. Optimization is reduced accordingly. Behavior for NaN comparisons does not conform.

OFF

-mp1

Restricts floating point precision to be closer to declared precision. Some speed impact, but less than -mp.

OFF

-nbs

Treats backslash (\) as a normal graphic character, not an escape character.

OFF

-nobss_init

Disables placement of zero-initialized variables in BSS (using DATA section)

OFF

-nolib_inline

Disables inline expansion of intrinsic functions.

ON

-nologo

Suppresses compiler version information.

ON

-nus

Disables appending an underscore to external subroutine names.

OFF

-nusfile

Disables appending an underscore to subroutine names  listed in file.

OFF

-O, -O1, -O2
IA-32 compiler

Optimize for speed. but disable some optimizations that increase code size for a small speed benefit. Disable option -fp. Generally, -O2 is recommended over -O1.

OFF

-O, -O1
Itanium compiler

Optimize to favor code size. Enable the same optimizations as -O2 except for loop unrolling.
-O1 turns off software pipelining to reduce code size.

OFF

-O2

Optimizes for speed, but disables some optimizations that increase code size for a small speed benefit. Default.

ON

-O0

Disables optimizations.

OFF

-O3

Enables -O2 option with more aggressive optimization, for example, loop transformation. Optimizes for maximum speed, but may not improve performance for some programs.

OFF

-ofile

Indicates the executable file name in file or directory; for example, -omyfile,
-o
mydir\.
Combined with -S, indicates assembly file or directory for multiple assembly files.
Combined with -c, indicates object file name or directory for multiple object files.

OFF

-onetrip

Executes any DO loop at least once. (Identical to the
-1
option.)

OFF

-openmp

Enables the parallelizer to generate multithreaded code based on the OpenMP directives. This option implies that -fpp is ON.

OFF

-openmp_
report{0|1|2}

Controls the OpenMP parallelizers diagnostic levels.

-openmp
_report1

-opt_report 
Itanium compiler only

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

OFF

-opt_report_filefilename 
Itanium compiler only

Specifies the filename to hold the optimizations report.

OFF

-opt_
report_level{
min|med|max} 
Itanium compiler only
 

Specifies the detail level of the optimizations report.

-opt_
report_
level
min

-opt_report_phasephase 
Itanium compiler only

Specifies the optimization to generate the report for. Can be specified multiple times on the command line for multiple optimizations.

OFF

-opt_report_help 
Itanium compiler only

Prints to the screen all available phases for -opt_report_phase.

OFF

-opt_report_routine
routine_substring
 
Itanium compiler only

Generates reports from all routines with names containing the substring as part of their name. If not specified, reports from all routines are generated.

OFF

-P

Preprocesses the fpp files and writes the results to files named according to the compilers default file-naming conventions.

OFF

-pad, -nopad

Enables/disables changing variable and array memory layout.

-nopad

-pad_source

Enforces the acknowledgment of blanks at the end of a line.

OFF

-parallel

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

OFF

-par_threshold

Sets a threshold for the auto-parallelization of loops based on the probability of profitable execution of the loop in parallel, n=0 to 100.

n=75

-par_report{0|1|2|3}
 

Controls the auto-parallelizer's diagnostic levels.

-par_
report1

-pc32
-pc64
-pc80

IA-32 compiler

Enables floating-point significand precision control as follows:
-pc32
to 24-bit significand
-pc64
to 53-bit significand, and
-pc80
to 64-bit significand

-pc64

-posixlib

Enables linking to the POSIX library (libPOSF90.a) in the compilation.

OFF

-prec_div
IA-32 compiler

Improves precision of floating-point divides. Some speed impact.

OFF

-prefetch[-]
IA-32 compiler

Enables or disables prefetch insertion (requires -O3).

ON

-prof_dirdir

Specifies the directory to hold profile information in the profiling output files, *.dyn and *dpi.

OFF

-prof_gen

Instruments the program for profiling: to get the execution count of each basic block.

OFF

-prof_filefile

Specifies file name for profiling summary file.

OFF

-prof_use

Enables the use of profiling dynamic feedback information during optimization.

OFF

-q

Suppresses compiler output to standard error, __stderr.

OFF

-Qdyncom"blk1,blk2,..."

Enables dynamic allocation of given COMMON blocks at run time.

OFF

-Qinstalldir

Sets dir as a root directory for compiler installation.

OFF

-Qlocation,tool,path

Sets path as the location of the tool specified by tool.

OFF

-Qloccom
"blk1,blk2,..."

Enables local allocation of given COMMON blocks at run time.  

OFF

-Qoption,tool,opts

Passes the options, opts, to the tool specified by tool.

OFF

-qp, -p

Compile and link for function profiling with UNIX prof tool.

OFF

-r{4|8|16}

Defines the KIND for real variables in 4 (default), 8, and 16 bytes.
-r8
: change the size and precision of default REAL entities to DOUBLE PRECISION. Same as the -autodouble.
-r16
: change the size and precision of default REAL entities to REAL (KIND=16)

-r4

-rcd
IA-32 compiler

Enables efficient float-to-integer conversions.

OFF

-S

Produces an assembly output.

OFF

-save

Saves all variables (static allocation). Opposite of -auto.

ON

-scalar_rep[-]
IA-32 compiler

Enables or disables scalar replacement performed during loop transformations (requires -O3).

OFF

-sox[-]
IA-32 compiler

Enables (default) or disables saving of compiler options and version in the executable.
Itanium compiler: accepted for compatibility only.

IA-32: ON

-shared

Instructs the compiler to build a Dynamic Shared Object (DSO) instead of an executable.

OFF

-syntax

Enables syntax check only. Same as -y.

OFF

-Tffile

Compiles file as a Fortran source.

OFF

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

-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 and Xeon(TM) processor; requires the and support of Streaming SIMD Extensions 2.

-tpp6

-u

Sets IMPLICIT NONE by default.

ON

-Uname

Removes a defined macro specified by name; equivalent to an #undef preprocessing directive.

OFF

-unroll[n]

-Use n to set maximum number of times to unroll a loop.
-Omit n to let the compiler decide whether to    perform unrolling or not.
-Use n = 0 to disable unroller.
The Itanium compiler currently uses only n = 0; all other values are NOPs.

ON

-uppercase

 Changes routine names to all uppercase characters.

OFF

-us

Appends (default) an underscore to external subroutine names.

ON

-use_asm

Produces objects through the assembler.

OFF

-use_msasm

IA-32 compiler

Supports Microsoft* style assembly language insertion using MASM style syntax, and if requested, outputs assembly in MASM format.

OFF

-Vstring

Displays compiler version information.

OFF

-v

Shows driver tool commands and executes tools.

OFF

-Vaxlib

Enables linking to portability library (libPEPCF90.a) in the compilation.

OFF

-vec-
IA-32 compiler

Turn off the vectorizer.

OFF

-vec
_report{0|1|2|3|4|5}

IA-32 compiler

Controls amount of vectorizer diagnostic information as follows:
n
= 0: no information
n
= 1: indicate vectorized /non-vectorizerd integer loops
n
= 2: indicate vectorized /non-vectorized integer loops
n
= 3: indicate vectorized /non-vectorized integer loops and prohibit data dependence information
n
= 4: indicate non-vectorized loops
n
= 5: indicate non-vectorized loops and prohibit data dependence information

-vec
_report1

-vms

Enables support for extensions to Fortran that were introduced by Digital VMS and Compaq Fortran compilers.

OFF

-w

Suppresses all warning messages.

OFF

-w{n}

Suppresses or displays all warning messages.
n
=0: suppresses all warnings
n
=1: displays all warnings (default).

-w1

-WB

Issues a warning about out-of-bounds array references at compile time.  

OFF

-wp_ipo

A whole program assertion flag for multifile optimization with the assumption that all user variables and user functions seen in the compiled sources are referenced only within those sources. The user must guarantee that this assumption is safe.  

OFF

-x{i|M|K|W}

IA-32 compiler

Generates processor-specific code corresponding to one of codes: i, M, K, and W while also generating generic IA-32 code. This differs from -ax{n} in that this targets a specific processor. With this option, the resulting program may not run on processors older than the target specified.

OFF

-X

Removes standard directories from the include file search.

OFF

-y

Enables syntax check only.

OFF

-zero

Implicitly initializes to zero all data that is uninitialized. Used in conjunction with -save.

OFF

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

Specifies alignment constraint for structures on 1-, 2-, 4-, 8- or 16-byte boundary.

IA-32:
-Zp4

Itanium Compiler: -Zp8