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

Reference

-0f_check
IA-32 only

Enables a software patch for Pentium processor 0f erratum.  

OFF

Monitoring Compilation

-1

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

 

OFF

Source Program Options

-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

Defining Macros

-align[-]

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

ON

Setting Arguments

-ansi[-]

Enables (default) or disables assumption of the program’s ANSI conformance.

ON

Source Program Options

-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

Setting Arguments

-autodouble

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

OFF

Data Type Options

-auto_scalar

Makes scalar local variables AUTOMATIC.

ON

Setting Arguments

-ax{i|M|K|W}
 

IA-32 only

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).

OFF

Specialized Code with
-ax{i|M|K|W}

-bd,progname

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

OFF

FCE Options

-c

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

OFF

Compilation Control

-C90

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

OFF

Linking to Tools

-C
IA-32 only

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

OFF

 

 

 

 

 

 

 

Runtime Diagnostics

-CA
IA-32 only

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

OFF

-CB

IA-32 only

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 only

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

OFF

-CU

IA-32 only

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 only

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

Warning Messages

-cl,file

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

OFF

FCE Options

-cm

Suppresses all comment messages.

OFF

Comments

-common_args

Assumes “by reference” subprogram arguments may alias one another.

OFF

Setting Arguments

-cpp[n]

Same as -fpp[n].

OFF

 

-DD

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

OFF

 

Debugging Statements

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

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

Runtime Diagnostics

-Dname[={#|text}]

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

OFF

Defining Macros

-doubletemps

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

OFF

Floating-point Precision

-dps, -nodps

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

-dps

Source Program Options

-dryrun

Show driver tool commands but do not execute tools.

 

Information Messages

-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

Preprocessing Only

-e90, -e95

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

OFF

Error Messages

-EP

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

OFF

Preprocessing Only

-extend_source

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

OFF

Source Program Options

-F

Preprocesses the source files and writes the results to file.

OFF

Preprocessing Only

-fdiv_check

IA-32 only

Enables a software patch for the floating-point division flaw for Pentium processor FDIV erratum.

OFF

Math Libraries

-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

Source Program Options

-fp

IA-32 only

Enables the use of the ebp register in optimizations. When -fp is used, the ebp register is used as the frame pointer.

OFF

Support for Symbolic Debugger

-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

Preprocessing

-fp_port

IA-32 only

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

OFF

Floating-point Arithmetic Precision

-FR

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

OFF

Source Program Options

-fr32
Itanium(TM)-based systems only

Disable the use of high floating-point registers.

OFF

Data Type Options

-g

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

OFF

Symbolic Debugging

-G0

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

OFF

 

Listing Options

-G1

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

OFF

-help

 Prints help message.

 

OFF

Information Messages

-i{2|4|8}

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

-i4

Data Type Options

-ic

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

OFF

FCE Options

-Idir

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

OFF

Include Directory

-i_dynamic

Enables to link Intel-provided libraries dynamically.

OFF

Static and Dynamic Libs

-implicitnone

Enables the IMPLICIT NONE.

OFF

Setting Arguments

-inline_debug_
info

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

OFF

Controlling Inlining

-ip

Enables single-file interprocedural optimizations.

OFF

Single-file IPO

-ip_no_inlining

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

ON

Controlling Inlining

-ip_no_pinlining
IA-32 only

Disables partial inlining. Requires -ip or -ipo.

OFF

Controlling Inlining

-ipo

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

OFF

Multi-file IPO

-ipo_c

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

OFF

Effects of Multiple IPO

-ipo_obj

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

IA-32: OFF  Itanium Compiler: ON

Compilation with Real Object Files

-ipo_S

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

OFF

Effects of Multiple IPO

-Kpic, -KPIC

Generates position-independent code.

OFF

Source Program Options

-Ldir

Instructs linker to search dir for libraries.

OFF

 

Linking to Tools

-lname

Links with a library indicated in name.

OFF

-lowercase

Changes routine names to all lowercase characters.

ON

Source Program Options

-ml

Compiles and links with non-thread-safe Fortran libraries.

ON

Single-thread Libraries

-mp

Enables more accurate 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

Maintaining Floating-point Precision

-mp1

Improves floating-point precision. Some speed impact, but less than -mp.

OFF

Floating-point Precision

-mt

Compiles and links with with thread-safe Fortran libraries.

OFF

Multi-thread Libraries

-nbs

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

OFF

Source Program Options

-nobss_init

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

OFF

Setting Arguments

-nolib_inline

Disables inline expansion of intrinsic functions.

ON

Inline Expansion

-nologo

Suppresses compiler version information.

ON

Information Messages

-nus

Disables appending an underscore to external subroutine names.

OFF

 

Source Program Options

-nusfile

Disables appending an underscore to subroutine names  listed in file.

OFF

-O, -O1, -O2

Optimize for speed, but disable some optimizations that increase code size for a small speed benefit. Default.  

ON

 

Optimization-level Options

-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, -omydir\.
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

Compilation Output Files

-onetrip

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

OFF

Source Program Options

-openmp

Enables the parallelizer to generate multi-threaded code based on the OpenMP directives. This option implies that -mt and -fpp are ON.  

OFF

 

Parallelization with -openmp

-openmp_
report{0|1|2}

Controls the OpenMP parallelizer’s diagnostic levels.

-openmp
_report1

-P

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

OFF

Preprocessing Only

-pad, -nopad

 Enables/disables changing variable and array memory layout.  

-nopad

Source Program Options

-pad_source

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

OFF

Source Program Options

-pc32
-pc64
-pc80

IA-32 only

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

Floating-point Arithmetic

-posixlib

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

OFF

Posix Library

-prec_div
IA-32 only

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

OFF

Floating-point Arithmetic

-prefetch[-]
IA-32 only

Enables or disables prefetch insertion (requires -O3).  

ON

Prefetching

-prof_dirdir

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

OFF

Advanced PGO

-prof_gen

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

OFF

Basic PGO

-prof_filefile

Specifies file name for profiling summary file.

OFF

Advanced PGO

-prof_use

Enables the use of profiling dynamic feedback information during optimization.

OFF

Basic PGO

-q

Suppresses compiler output to standard error, __stderr.  

OFF

Error Messages

-Qdyncom"blk1,blk2,..."

Enables dynamic allocation of given COMMON blocks at run time.

OFF

Dynamic COMMON Option

-Qinstalldir

Sets dir as a root directory for compiler installation.

OFF

FCE Options

-Qlocation,tool,path

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

OFF

Alternate Locations

-Qloccom
"blk1,blk2,..."

Enables local allocation of given COMMON blocks at run time.  

OFF

Dynamic COMMON Option

-Qoption,tool,opts

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

OFF

Alternate Tools

-qp, -p

Compile and link for function profiling with UNIX prof tool.

OFF

Linking

-r8, -r16

Sets the default size of real numbers to 8 or 16 bytes; -r8 is the same as –autodouble.  

OFF

Data Type Options

-rcd
IA-32 only

Enables fast float-to-int conversions.

OFF

Floating-point Arithmetic

-S

Produces an assembly output.

OFF

Compilation Output (Assembler)

-save

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

ON

Setting Arguments

-scalar_rep[-]
IA-32 only

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

OFF

High-level Language Optimizations

-sox[-]
IA-32 only

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

IA-32: ON

Saving Compiler Version

-shared

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

OFF

Shared Libraries

-syntax

Enables syntax check only. Same as -y.

OFF

Syntax Check

-Tffile

Compiles file as a Fortran source.

OFF

Controling Compilation

-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 processor; requires the RedHat version 6.2 and support of Streaming SIMD Extensions 2.

-tpp6

Targeting a processor

-u

Sets IMPLICIT NONE by default.

ON

Setting Arguments

-Uname

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

OFF

Defining Macros

-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

 Loop Unrolling

-uppercase

 Changes routine names to all uppercase characters.

OFF

Source Program Options

-us

Appends (default) an underscore to external subroutine names.

ON

Source Program Options

-use_asm
IA-32 only

Produces objects through the assembler.

OFF

 

 

Using Assembler

-use_msasm

IA-32 only

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

OFF

-V

Displays compiler version information.

OFF

Information Messages

-v

Show driver tool commands and execute tools.

 

 

-Vaxlib

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

OFF

Portability Library

-vec[-]
IA-32 only

Enables (default)/disables the vectorizer.

ON

 

 

 

Vectorizer

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

IA-32 only

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

Source Program Options

-w

Suppresses all warning messages.

OFF

 

Warning Messages

-w90, -w95

Suppresses warning messages about non-standard Fortran features used.

ON

-w0

Disables display of warnings.

OFF

-w1

Displays warnings.

ON

-WB

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

OFF

-wp_ipo

A whole program assertion flag for multi-file 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

Multi-file IPO

-x{i|M|K|W}

IA-32 only

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

Exclusive Specialized Code with
-x{i|M|K|W}

-X

Removes standard directories from the include file search.

OFF

Removing Standard Directories

-y

Enables syntax check only.

OFF

Syntax Check

-zero

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

OFF

 

Monitoring Compiler-generated Code

-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