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.

All other options are available for both IA-32 and Itanium architectures.

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

-align

Analyzes and reorders memory layout for variables and arrays.

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

ON

-ansi_alias[-]

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

ON

-auto

 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 processor-specific code corresponding to one of codes: i, M, K, and W while also generating generic IA-32 code. 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 Intel Xeon(TM)).

OFF

-Bdynamic

Used with -lname (see in this table), enables dynamic linking of libraries at run time. Compared to static linking, results in smaller executables.

OFF

-Bstatic

Enables linking a user's library statically.

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 whether pointers and allocatable array references are defined and allocated. 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

-cm

Suppresses all comment messages.

OFF

-common_args

Assumes by reference subprogram arguments may alias one another.

OFF

-complex_limited_
range[-]

Enables or disables (default) the use of the basic algebraic expansions of some complex arithmetic operations. This can enable some performance improvement in programs which use a lot of complex arithmetic operations at the loss of some exponent range.

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.

-d0

-Dname[=text]

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

OFF

-dps, -nodps

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

-dps

-dryrun

Show driver tool commands but do not execute tools.

OFF

-dynamic-linker(file)

Specifies in file a dynamic linker of choice, rather than default.

OFF

-e90, -e95

Enable issuing of errors rather than warnings for features that are non-standard Fortran.

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

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

Assumes aliasing in program.

ON

-fno-alias

Assumes no aliasing in program.

OFF

-ffnalias

Assumes aliasing within functions.

ON

-fno-fnalias

Assumes no aliasing within functions, but assumes aliasing across calls.

OFF

-fcode_asm

Inserts code byte annotations in assembly file produced with -S.

OFF

-fsource_asm

Inserts high-level source code annotations in assembly file produced with -S.

OFF

-fverbose-asm

Inserts in an assembly file compiler comments including compiler version and options. Enabled by default when producing an assembly file (with -S).

OFF

-fnoverbose-asm

Disables -fverbose-asm.

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

-fnsplit-

Itanium compiler

Disables function splitting, which is enabled by
-prof_use
.

OFF

-fp

IA-32 compiler

Disables the use of the ebp register in optimizations.  Directs to use the ebp-based stack frame for all functions.

OFF

-fpp{n}

Enables the Fortran preprocessor (fpp) on all Fortran source files prior to compilation.
n
=0: disable CVF and #directives
n
=1: enable CVF conditional compilation and # directives; when fpp runs, -fpp1 is the default
n
=2: enable only # directives,
n
=3: enable only CVF conditional compilation directives.

OFF

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

OFF

-ftz[-]

Itanium compiler

Flushes denormal results to zero. Turned on by -O3.

OFF

-g

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

OFF

-help

 Prints help message.

OFF

-i{2|4|8}

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

-i4

-Idir

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

OFF

-i_dynamic

Sets dynamic linking of Intel-provided libraries as default.

OFF

-implicitnone

Sets IMPLICIT NONE as the default. Same as -u.

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 floating-point (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

-IPF_fltacc disables optimizations that affect floating-point accuracy. The default is to enable such optimizations.

-IPF_fltacc-

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

Generates position-independent code.

OFF

-Ldir

Instructs linker to search dir for libraries.

OFF

-lname

Links with a library indicated in name.

OFF

-list

Prints a source listing to stdout (typically, your terminal screen) without contents of include files.

OFF

-list -showinclude

Prints a source listing to stdout with contents of include files expanded.

OFF

-lowercase

Sets the case of external linker symbols such as subroutine names to be lowercase characters.

ON

-module[path],
-nomodule

Specifies the directory where the module files (extension .mod) are placed. Omitting this option or specifying -nomodule results in placing the .mod files in the directory where the source files are being compiled.

-nomodule

-mp

Maintains declared floating point precision  as well as conformance to the IEEE* 754 standards for floating-point arithmetic. Optimization is reduced accordingly.

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

-[no]stack_temps

Allocates temporary array in the heap (default) or on the runtime stack with -stack_temps.

-nostack_
temps

-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.  Disable -fp. option.

OFF

-O1
Itanium compiler

Optimizes to favor code size: turns off software pipelining to reduce code size. Enables the same optimizations as -O except for loop unrolling and software pipelining.

OFF

-O2

Optimizes for speed. Disables -fp. option.

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

-Ob{0|1|2}

Controls the compiler's inline expansion. The amount of inline expansion performed varies as follows:

-Ob0: disable inlining

-Ob1: disables inlining unless -ip or -Ob2 is specified. Enables inlining of functions.

-Ob2: Enables inlining of any function. However, the compiler decides which functions are inlined. This option enables interprocedural optimizations and has the same effect as specifying the -ip option.

-Ob1

-ofile

Indicates the executable file name in file ; for example, -omyfile.

Combined with -S, indicates assembly listing file name.
Combined with -c, indicates object file name.

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 and -auto are ON.

OFF

-openmp_
report{0|1|2}

Controls the OpenMP parallelizers diagnostic levels.

-openmp
_report1

-openmp_stubs

Sets compilation of the OpenMP programs to be in sequential mode. The OpenMP directives are ignored and a stub OpenMP library is linked (sequentially).

OFF

-opt_report 

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

OFF

-opt_report_file
filename
 

Specifies the filename to hold the optimizations report.

OFF

-opt_report_level
{
min|med|max} 

Specifies the detail level of the optimizations report.

-opt_
report_
level
min

-opt_report_phasephase 

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

OFF

-opt_report_help 

Prints to the screen all available phases for -opt_report_phase.

OFF

-opt_report_routine
routine_substring
 

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

Enables 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

-pc80

-pg

IA-32 compiler

Compile and link for function profiling with Linux gprof tool.

OFF

-posixlib

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

OFF

-prec_div
IA-32 compiler

Disables floating point division-to-multiplication optimization resulting in more accurate division results. Slight 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{8|16}

Defines the KIND for real variables to be 8, or 16 bytes. By default, variables of type
REAL
(4) are used.
-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)

OFF

-rcd
IA-32 compiler

Disables changing of rounding mode for floating-point-to-integer conversions.

OFF

-S

Produces an assembly output file.

OFF

-safe_cray_ptr

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

OFF

-save

Saves variables (static allocation)except local variables within a recursive routine. Opposite of -auto.

OFF

-scalar_rep[-]
IA-32 compiler

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

OFF

-sox[-]
IA-32 compiler

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

OFF

-shared

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

OFF

-static

Sets static linking of the shared libraries (.so).

OFF

-syntax

Enables syntax check only. Same as -y.

OFF

-Tffile

Compiles file as a Fortran source.

OFF

-tpp1
Itanium compiler

Targets optimization to the Intel® Itanium® processor for best performance.

OFF

-tpp2
Itanium compiler

Targets optimization to the Intel® Itanium® 2 processor for best performance. Generated code is compatible with the Itanium processor.

ON

-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 processors, Intel® Xeon(TM) processors, and Intel® Pentium® M processors

-tpp7

-u

Sets IMPLICIT NONE by default. Same as
-implicitnone
.

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 recognizes only n = 0; all other values are ignored.

ON

-uppercase

Sets the case of external linker symbols such as subroutine names to be uppercase characters.

OFF

-us

Appends (default) an underscore to external subroutine names.

ON

-use_asm

Produces objects through the assembler.

OFF

-V

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
_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 loops
n
= 2: indicate vectorized /non-vectorized loops
n
= 3: indicate vectorized /non-vectorized loops and prohibit data dependence information
n
= 4: indicate non-vectorized loops
n
= 5: indicate non-vectorized loops and the reason why they were not vectorized.

-vec
_report1

-vms

Enables support for a certain set of extensions to Fortran that were introduced by Digital* VMS* and Compaq* Fortran compilers.

OFF

-w

Suppresses all warning messages.

OFF

-w90, -w95

Suppresses warning messages about  Fortran features which are deprecated or obsoleted in Fortran 95.

OFF

-W{n}

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

-W1

-WB

On a bound check violation, issues a warning instead of an error.  

OFF

-x{i|M|K|W}

IA-32 compiler

Generates code that is optimized for a specific processor corresponding to one of codes: i, M, K, and W, but that will execute on any IA-32 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