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.
Options specific to IA-32 architecture (IA-32 only)
Options specific to the Itanium(TM) architecture (Itanium(TM)-based systems only)
Options available for both IA-32 and Itanium architecture
Option |
Description |
Default |
Reference |
-0f_check |
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}.) |
ON |
|
-ansi[-] |
Enables (default) or disables assumption of the program’s 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 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 |
|
-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 (.obj) 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 |
Equivalent to: (-CA, -CB, -CS, -CU, -CV) extensive runtime diagnostics options. |
OFF |
|
-CA |
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 |
|
-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 only |
Sets diagnostics level as follows: |
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. |
|
|
-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 95. |
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 |
|
-fdiv_check IA-32 only |
Enables a software patch for the floating-point division flaw for Pentium processor FDIV erratum. |
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 only |
Enables the use of the ebp register in optimizations. When -fp is used, the ebp register is used as the frame pointer. |
OFF |
|
-fpp[n] |
Runs the Fortran preprocessor (fpp) on all Fortran
source files (.f, .ftn,
.for, and .f90 files)
prior to compilation. |
-fpp1 |
|
-fp_port IA-32 only |
Rounds floating-point results at assignments and casts. Some speed impact. |
OFF |
|
-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 |
|
-fr32 |
Disable the use of high floating-point registers. |
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_ |
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 |
Disables partial inlining. Requires -ip or -ipo. |
OFF |
|
-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 multi-file object file. This option
performs optimizations as |
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 multi-file assembly file. This option performs optimizations as -ipo, but stops prior to the final link stage, leaving an optimized assembly file. |
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 |
Changes routine names to all lowercase characters. |
ON |
|
-ml |
Compiles and links with non-thread-safe Fortran libraries. |
ON |
|
-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 |
|
-mp1 |
Improves floating-point precision. Some speed impact, but less than -mp. |
OFF |
|
-mt |
Compiles and links with with thread-safe Fortran libraries. |
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 |
Optimize for speed, but disable 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,
-omydir\. |
OFF |
|
-onetrip |
Executes any DO loop at least once. (Identical to the -1 option.). |
OFF |
|
-openmp |
Enables the parallelizer to generate multi-threaded code based on the OpenMP directives. This option implies that -mt and -fpp are ON. |
OFF |
|
-openmp_ |
Controls the OpenMP parallelizer’s diagnostic levels. |
-openmp |
|
-P |
Preprocesses the fpp files and writes the results to files named according to the compiler’s 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 |
|
-pc32 |
Enables floating-point significand precision control as follows: |
-pc64 |
|
-posixlib |
Enables linking to the POSIX library (libPOSF90.a) in the compilation. |
OFF |
|
-prec_div |
Improves precision of floating-point divides. Some speed impact. |
OFF |
|
-prefetch[-] |
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 |
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 |
|
-r8, -r16 |
Sets the default size of real numbers to 8 or 16 bytes; -r8 is the same as –autodouble. |
OFF |
|
-rcd |
Enables fast float-to-int conversions. |
OFF |
|
-S |
Produces an assembly output. |
OFF |
|
-save |
Saves all variables (static allocation). Opposite of -auto. |
ON |
|
-scalar_rep[-] |
Enables or disables scalar replacement performed during loop transformations (requires -O3). |
OFF |
|
-sox[-] |
Enables (default) or disables saving of compiler options and version
in the executable. |
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 only |
-tpp5 optimizes for the Intel Pentium processor. |
-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. |
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 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 |
|
-v |
Show driver tool commands and execute tools. |
|
|
-Vaxlib |
Enables linking to portability library (libPEPCF90.a) in the compilation. |
OFF |
|
-vec[-] |
Enables (default)/disables the vectorizer. |
ON |
|
-vec IA-32 only |
Controls amount of vectorizer diagnostic information as follows: |
-vec |
|
-vms |
Enables support for 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 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 |
|
-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 |
|
-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: |