Cross Reference of Compiler Options

This section provides cross-reference tables of compiler options used on Windows* operating systems and on Linux* and Mac OS* operating systems.

It shows the option name, its equivalent (if any) on the other operating system, a short description of the option, and the default value for the option. This information previously appeared in the Compiler Options Quick Reference Guide.

Some compiler options are only available on certain systems, as indicated by these labels:

Label Meaning
i32 The option is available on systems using IA-32 architecture.
i64em The option is available on systems using IntelŪ 64 architecture.
i64 The option is available on systems using IA-64 architecture.

If no label appears, the option is available on all supported systems.

If "only" appears in the label, the option is only available on the identified system.

For more details on the options, refer to the Alphabetical Compiler Options section.

For information on conventions used in this table, see Notation Conventions.

Cross Reference of Windows Options to Linux and Mac OS Options

The following cross-reference table shows all supported Windows options and equivalent Linux and Mac OS options, if any. If an equivalent option in the Linux and Mac OS Option column is restricted to Linux systems, it is labeled "Linux only".

Windows Option Linux and Mac OS Option Description Default
/1 -1 Executes at least one iteration of DO loops. OFF
/4I{2|4|8} -i{2|4|8} Specifies the default KIND for integer and logical variables; same as the /integer_size option. /4I4
-i4
/4L{72|80|132} -72, -80, -132 Treats the statement field of each fixed-form source line as ending in column 72, 80, or 132; same as the /extend_source option. /4L72
-72
/4Na, /4Ya None Determines where local variables are stored. /4Na is the same as /save. /4Ya is the same as /automatic. /4Ya
/4Naltparam, /4Yaltparam None Determines whether alternate syntax is allowed for PARAMETER statements; same as the /altparam option). /4Yaltparam
/4Nb, /4Yb None Determines whether checking is performed for run-time failures (same as the /check option). /4Nb
/4Nd, /4Yd -implicitnone or -u (for /4Yd) Determines whether error messages are issued for undeclared symbols. /4Nd is the same as /warn:nodeclarations. /4Yd is the same as /warn:declarations. /4Nd
/4Nf, /4Yf None Specifies the format for source files. /4Nf is the same as /fixed. /4Yf is the same as /free. /4Nf
/4Ns, /4Ys -e03, -e95, or -e90 (for /4Ys) Determines whether the compiler changes warning messages about Fortran standards violations to error messages. /4Ns is the same as /warn:nostderrors. /4Ys is the same as /warn:stderrors.

/4Ns

/4R8, /4R16 None Specifies the default KIND for real and complex variables; same as the /real_size option. OFF
/4Yportlib None Links against the library of portability routines. /4Yportlib
/align[:keyword] -align [keyword] Tells the compiler how to align certain data items. keywords:
nocommons
nodcommons
records
nosequence
/allow:[no]fpp_comments -allow [no]fpp_comments Determines how the fpp preprocessor treats Fortran end-of-line comments in preprocessor directive lines. /allow:
fpp_comments
/altparam -altparam Allows alternate syntax (without parentheses) for PARAMETER statements. /altparam
/architecture:keyword
(i32, i64em)
-arch keyword
(i32, i64em)
Determines the version of the architecture for which the compiler generates instructions. keyword:
pn4
/asmattr:keyword None Specifies the contents of an assembly listing file. OFF
/asmfile[:name] -S Specifies that an assembly listing file should be generated. OFF
/assume:keyword -assume keyword Specifies assumptions made by the compiler. keywords:
noprotect_parens
protect_
constants
source_
include
nobscc
nobuffered_io
nobyterecl
nocc_omp
nodummy_
aliases
nominus0
nounderscore
no2underscores

nowriteable-strings
/auto -auto Causes all variables to be allocated to the run-time stack; same as the /automatic option. /Qauto-scalar
/automatic -automatic Causes all variables to be allocated to the run-time stack; same as the /auto option. /Qauto-scalar
/bintext None Places the text string specified into the object file (.obj) being generated by the compiler. OFF
/c -c Causes the compiler to compile to an object file only and not link. OFF
/C None Performs checking for all run-time failures; same as the /check:all option. OFF
/CB -CB Performs run-time checking on array subscript and character substring expressions; same as the /check:bounds option. OFF
/ccdefault:keyword -ccdefault keyword Specifies the type of carriage control used when a file is displayed at a terminal screen. keyword:
default
/check[:keyword] -check [keyword] Checks for certain conditions at run time.

-nocheck

/cm -cm Disables all messages about questionable programming practices; same as specifying option /warn:nousage. OFF
/compile-only None Causes the compiler to compile to an object file only and not link; same as the /c option. OFF
/convert:keyword -convert keyword Specifies the format of unformatted files containing numeric data. keyword:
native
/CU -CU Enables run-time checking for uninitialized variables. This option is the same as /check:uninit and /RTCu. OFF
/Dname[=value] -Dname[=value] Defines a symbol name that can be associated with an optional value. OFF
/d-lines -d-lines Compiles debugging statements indicated by the letter D in column 1 of the source code. /no-d-lines
/dbglibs None Tells the linker to search for unresolved references in a debug run-time library. OFF
/debug:keyword -debug keyword
Note: the Linux and Mac OS option takes different keywords
Specifies the type of debugging information generated by the compiler in the object file. keywords:
full
(IDE)
minimal
(command line)
/debug-parameters[:keyword] -debug-parameters [keyword] Tells the compiler to generate debug information for PARAMETERs used in a program. /nodebug-parameters
/define:name[=value] None Defines a symbol name that can be associated with an optional value; same as the /D<name>[=value] option. OFF
/dll None Specifies that a program should be linked as a dynamic-link (DLL) library. OFF
/double-size:size -double-size size Defines the default KIND for DOUBLE PRECISION and DOUBLE COMPLEX variables. size: 64
/E -E Causes the Fortran preprocessor to send output to stdout. OFF
/EP -EP Causes the Fortran preprocessor to send output to stdout, omitting #line directives. OFF
/error-limit:n -error-limit n Specifies the maximum number of error-level or fatal-level compiler errors allowed for a file specified on the command line. n: 30
/exe:{file | dir} -o Specifies the name for a built program or dynamic-link library. OFF
/extend-source[:size] -extend-source [size] Specifies the length of the statement field in a fixed-form source file. size: 72
/extfor:ext None Specifies file extensions to be processed by the compiler as Fortran files. OFF
/extfpp:ext None Specifies file extensions to be recognized as a file to be preprocessed by the Fortran preprocessor. OFF
/extlnk:ext None Specifies file extensions to be passed directly to the linker. OFF
/Fn None Specifies the stack reserve amount for the program. OFF
/f66 -f66 Tells the compiler to apply FORTRAN 66 semantics. OFF
/f77rtl -f77rtl Tells the compiler to use the run-time behavior of FORTRAN 77. OFF
/Fa[:file | dir] -S Specifies that an assembly listing file should be generated; same as option /asmfile and /S. OFF
/FAc, /FAs, /FAcs None Specifies the contents of an assembly listing file. /FAc is the same as the /asmattr:machine option. /FAs is the same as the /asmattr:source option. /FAcs is the same as the /asmattr:all option. OFF
/fast -fast Maximizes speed across the entire program. OFF
/Fefile -o Specifies the name for a built program or dynamic-link library; same as the /exe option. OFF
/FI -FI Specifies source files are in fixed format; same as the /fixed option. determined by file suffix
/fixed -fixed Specifies source files are in fixed format. determined by file suffix
/fltconsistency -fltconsistency Enables improved floating-point consistency. /nofltconsistency
/Fm[file] None Tells the linker to generate a link map file; same as the /map option. OFF
/Fofile None Specifies the name for an object file; same as the /object option. OFF
/fp:keyword -fp-model keyword Controls the semantics of floating-point calculations. /fp:fast
/fpconstant -fpconstant Tells the compiler that single-precision constants assigned to double-precision variables should be evaluated in double precision. /nofpconstant
/fpe:n -fpen Specifies floating-point exception handling for the main program at run-time. n: 3
/fpp -fpp Runs the Fortran preprocessor on source files before compilation. /nofpp
/fpscomp[:keyword] -fpscomp [keyword] Specifies compatibility with Microsoft* Fortran PowerStation or IntelŪ Fortran. keyword:
libs
/FR -FR Specifies source files are in free format; same as the /free option. determined by file suffix
/free -free Specifies source files are in free format. determined by file suffix
/G{1|2}
(i64 only)
-tpp{1|2}
(i64 only; Linux only)
Optimizes application performance for systems using IA-64 architecture. /G2
-tpp2
/G2-p9000
(i64 only)
-mtune itanium2-p9000
(i64 only; Linux only)
Optimizes for Dual-Core IntelŪ ItaniumŪ 2 Processor 9000 series. OFF
/G{5|6|7}
(i32, i64em)
None Optimizes application performance for systems using IA-32 architecture and IntelŪ 64 architecture. /G7
/GB None Optimizes for IntelŪ PentiumŪ Pro, PentiumŪ II and PentiumŪ III processors; same as the /G6 option. OFF
/Ge None Enables stack-checking for all functions. OFF
/gen-interfaces [[no]sources] -gen-interfaces[:[no]sources] Tells the compiler to generate an interface block for each routine in a source file. /nogen-interfaces
/Gm None Tells the compiler to use calling convention CVF; same as the /iface:cvf option. OFF
/Gs[n] None Disables stack-checking for routines with a specified number of bytes of local variables and compiler temporaries. n: 4096
/Gz None Tells the compiler to use calling convention STDCALL; same as the /iface:stdcall option. OFF
/heap-arrays[:<size>] -heap-arrays [size] Puts automatic arrays and arrays created for temporary computations on the heap instead of the stack. OFF
/help -help Displays the list of compiler options; same as the /? option. OFF
/I:dir -Idir Specifies a directory to add to the include path. OFF
/iface:keyword
/iface:[no]mixed_str_len_arg
None
-mixed_str_len_arg
Specifies the default calling convention for an application or the argument-passing convention used for hidden-length character arguments.
/iface:[no]
mixed_str_len_arg determines argument-passing conventions for hidden-length character arguments.
keywords:
default
nomixed_str_
len_arg
/include:dir
/noinclude
-Idir
-X
Specifies a directory to add to the include path; same as the /I option. /noinclude
/inline[:keyword] None Specifies the level of inline function expansion. OFF
/intconstant -intconstant Tells the compiler to use Fortran 77 semantics to determine the kind parameter for integer constants. OFF
/integer-size:size -integer-size size Specifies the default KIND for integer and logical variables. size: 32
/LD None Specifies that a program should be linked as a dynamic-link (DLL) library. OFF
/libdir[:keyword] None Controls whether linker options for search libraries are included in object files generated by the compiler. keyword:
all
/libs:keyword None Tells the linker to search for unresolved references in a specific run-time library. keyword:
static
/link None Passes options to the linker at compile time. OFF
/logo -logo Displays the compiler version information. Windows: /logo
Linux: /nologo
/map[:file] None Tells the linker to generate a link map file.

/nomap

/MD and /MDd None Tells the linker to search for unresolved references in a multithreaded, dynamic-link debug run-time library. OFF
/MDs None Tells the linker to search for unresolved references in a single-threaded, dynamic-link run-time library. OFF
/MDsd None Tells the linker to search for unresolved references in a single-threaded, dynamic-link debug run-time library. OFF
/MG None Tells the compiler to create a graphics or Fortran Windows application and link against the most commonly used libraries. OFF
/ML None Specifies a single-threaded, static library; same as the /libs:static option. i32, i64: ON
i64em: OFF
/MLd None Specifies a single-threaded, static, debug library; same as specifying options /libs:static /dbglibs. i32, i64: ON
i64em: OFF
/module:path -module path Specifies the directory where module files should be placed when created and where they should be searched for. OFF
/MT None Tells the linker to search for unresolved references in a multithreaded, static run-time library. i32, i64: OFF
i64em: ON
/MTd None Tells the linker to search for unresolved references in a multithreaded, static, debug run-time library. i32, i64: OFF
i64em: ON
/MW None Tells the linker to search for unresolved references in a Fortran QuickWin library. OFF
/MWs None Tells the linker to search for unresolved references in a Fortran standard graphics library. OFF
/names:keyword -names keyword Specifies how source code identifiers and external names are interpreted. keyword:
Windows: uppercase
Linux: lowercase
/nbs -nbs Tells the compiler to treat the backslash character (\) as a normal character in character literals; same as the /assume:nobscc option. ON
/O1 -O1 Enables optimizations for speed and disables some optimizations that increase code size and affect speed. OFF
/O2 -O2 Enables optimizations for speed. This is the generally recommended optimization level. /O2
/O3 -O3 Enables /O2 optimizations plus more aggressive optimizations. OFF
/Obn -inline-level=n Specifies the level of inline function expansion. n = 0, 1, or 2. /Ob2 if /O2 is in effect
/Ob0
if /Od is specified
/object:file None Specifies the name for an object file. OFF
/Od -O0 Disables optimizations. OFF
/Og None Enables global optimizations. ON
/Op -mp Enables improved floating-point consistency. OFF
/optimize:n -On Affects optimizations performed by the compiler; n = 1, 2, 3, or 4. OFF
/Os None Enables most speed optimizations, but disables some optimizations that increase code size for a small speed benefit. ON
/Ot None Enables all speed optimizations. ON
/Ox -O2 Same as the /O2 option. ON
/Oy[-]
(i32 only)
-f[no-]omit-frame-pointer
(i32, i64em)
Determines whether EBP is used as a general-purpose register in optimizations.

/Oy (unless /Od is specified)

/pad-source -pad-source Specifies that fixed-form source records shorter than the statement field width should be padded with spaces (on the right) to the end of the statement field. /nopad_source
/pdbfile[:file] None Specifies that any debug information generated by the compiler should be saved to a program database file. /nopdbfile
/preprocess-only -preprocess-only Causes the Fortran preprocessor to send output to a file, which is named by default. Requires option -fpp. /nopreprocess-only
/Qansi-alias -ansi-alias Tells the compiler to assume the program adheres to the Fortran 95 Standard type aliasability rules. /Qansi-alias
/Qauto -auto Causes all variables to be allocated on the stack, rather than in local static storage. -auto-scalar
/Qauto-scalar -auto-scalar Causes allocation of scalar variables of intrinsic types INTEGER, REAL, COMPLEX, and LOGICAL to the run-time stack. /Qauto-scalar
/Qautodouble -autodouble Makes default real and complex variables 8 bytes long; same as the /real-size:64 option. OFF
/Qaxp
(i32, i64em)
-axp
(i32, i64em)
Generates processor-specific code if there is a performance benefit. The p indicates the processor type. OFF
/Qchkstk
(i64 only)
None Enables stack probing when the stack is dynamically expanded at run-time. /Qchkstk
/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. OFF
/Qcomplex-limited-range -complex-limited-range Enables the use of basic algebraic expansions of some arithmetic operations involving data of type COMPLEX. /Qcomplex-limited-range-
/Qcpp -cpp Runs the Fortran preprocessor on source files before compilation; same as the /fpp option. OFF
/Qd-lines -d-lines Compiles debugging statements indicated by the letter D in column 1 of the source code; same as the /d-lines option. OFF
/Qdiag-type:diag-list -diag-type diag-list Controls the display of diagnostic information. OFF
/Qdiag-dump -diag-dump Tells the compiler to print all enabled diagnostic messages and stop compilation. OFF
/Qdiag-enable:sv-include -diag-enable sv-include Tells the Static Verifier to analyze include files and source files when issuing diagnostic message. OFF
/Qdiag-file[:file ] -diag-file[=file] Causes the results of diagnostic analysis to be output to a file. OFF
/Qdiag-id-numbers -diag-id-numbers Tells the compiler to display diagnostic messages by using their ID number values. ON
/Qdps -dps Specifies that the alternate syntax for PARAMETER statements is allowed; same as the /altparam option. ON
/Qdyncom:A,B,C -dyncom "a,b,c" Enables dynamic allocation of the specified COMMON blocks at run time. OFF
/Qextend-source -extend-source size This is the same as specifying option /extend-source:132 OFF
/Qfnsplit
(i32, i64)
-fnsplit
(i64 only; Linux only)
Enables function splitting. /Qfnsplit-
/Qfp_port
(i32, i64em)
-fp-port
(i32, i64em)
Rounds floating-point results after floating-point operations, so rounding to user-declared precision happens at assignments and type conversions (some impact on speed). /Qfp_port-
/Qfp-speculation=mode -fp-speculation=mode Tells the compiler the mode in which to speculate on floating-point operations. /Qfp-speculation=fast
/Qfp-stack-check
(i32, i64em)
-fp-stack-check
(i32, i64em)
Generates extra code after every function call to ensure that the FP (floating-point) stack is in the expected state. OFF
/Qfpp<n> -fpp Runs the Fortran preprocessor on source files prior to compilation.
If n is above zero, it's the same as the /fpp option. If n is zero, it's the same as the /nofpp option.
/nofpp
/Qfpstkchk
(i32, i64em)
-fpstkchk
(i32, i64em)
Generates extra code after every function call to ensure that the FP (floating-point) stack is in the expected state. This is a deprecated option; use /Qfp-stack-check. OFF
/Qftz -ftz Flushes denormal results to zero. i64: /Qftz-
i32, i64em: /Qftz
/Qglobal-hoist -global-hoist Enables certain optimizations that can move memory loads to a point earlier in the program execution than where they appear in the source. /Qglobal-hoist-
/QIA64-fr32
(i64 only)
None Disables use of high floating-point registers. OFF
/QIfist
(i32 only)
None Enables fast float-to-integer conversions; same as the /Qrcd option. OFF
/Qinline-debug-info -inline-debug-info Produces enhanced source position information for inlined code. OFF
/Qinline-dllimport[-] None Determines whether dllimport functions are inlined. /Qinline-dllimport
/Qinline-factor=n -inline-factor=n Specifies the percentage multiplier that should be applied to all inlining options that define upper limits. OFF
/Qinline-forceinline -inline-forceinline Specifies that an inline routine should be inlined whenever the compiler can do so. OFF
/Qinline-max-per-compile=n -inline-max-per-compile=n Specifies the maximum number of times inlining may be applied to an entire compilation unit. OFF
/Qinline-max-per-routine=n -inline-max-per-routine=n Specifies the maximum number of times the inliner may inline into a particular routine. OFF
/Qinline-max-size=n -inline-max-size=n Specifies the lower limit for the size of what the inliner considers to be a large routine. OFF
/Qinline-max-total-size=n -inline-max-total-size=n Specifies how much larger a routine can normally grow when inline expansion is performed. OFF
/Qinline-min-size=n -inline-min-size=n Specifies the upper limit for the size of what the inliner considers to be a small routine. OFF
/Qinstrument-functions -finstrument-functions Determines whether function entry and exit points are instrumented. /Qinstrument-functions-
/Qip -ip Enables additional single-file interprocedural optimizations. OFF
/Qip-no-inlining -ip-no-inlining Disables full and partial inlining enabled by -ip. OFF
/Qip-no-pinlining
(i32, i64em)
-ip-no-pinlining
(i32, i64em)
Disables partial inlining. OFF
/QIPF-flt-eval-method0
(i64 only)
-IPF-flt-eval-
method0

(i64 only; Linux only)
Tells the compiler to evaluate the expressions involving floating-point operands in the precision indicated by the variable types declared in the program. OFF
/QIPF-fltacc
(i64 only)
-IPF-fltacc
(i64 only; Linux only)
Tells the compiler to apply optimizations that affect floating-point accuracy. /QIPF-fltacc-
/QIPF-fma
(i64 only)
-IPF-fma
(i64 only; Linux only)
Enables the combining of floating-point multiplies and add/subtract operations. /QIPF-fma
/QIPF-fp-relaxed
(i64 only)
-IPF-fp-relaxed
(i64 only; Linux only)
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. /QIPF-fp-relaxed-
/QIPF_fp_speculation<mode>
(i64 only)
-IPF-fp-speculation<mode>
(i64 only; Linux only)
Enables or disables floating-point speculations. mode: fast
/Qipo[n] -ipo[n] Enables multifile IP optimizations between files. OFF
/Qipo-c -ipo-c Generates a multifile object file that can be used in further link steps. OFF
/Qipo-jobs:<n> -ipo-jobs<n> Specifies the number of commands to be executed simultaneously during the link phase of Interprocedural Optimization (IPO). /Qipo-jobs:1
/Qipo-S -ipo-S Generates a multifile assembly file that can be used in further link steps. OFF
/Qipo-separate -ipo-separate Generates one object file per source file. OFF
/Qivdep-parallel
(i64 only)
-ivdep-parallel
(i64 only; Linux only)
Tells the compiler that there is no loop-carried memory dependency in any loop following an IVDEP directive. OFF
/Qkeep-static-consts -fkeep-static-consts Tells the compiler to preserve allocation of variables that are not referenced in the source. /Qkeep-static-consts-
/Qlocation,string,dir -Qlocation,string,dir Specifies a directory as the location of the specified tool in string. 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. Windows: OFF
Linux: ON
/Qmap-opts -map-opts Converts one or more Windows* compiler options to their equivalent on a Linux* system (or vice versa). OFF
/Qnobss-init -nobss-init Places any variables that are explicitly initialized with zeros in the DATA section. OFF
/Qonetrip -onetrip This is the same as specifying option /onetrip. OFF
/Qopenmp -openmp Enables the parallelizer to generate multithreaded code based on OpenMP* directives. OFF
/Qopenmp-profile -openmp-profile
(Linux only)
Enables analysis of OpenMP* applications. OFF
/Qopenmp-report[n] -openmp-report[n] Controls the OpenMP parallelizer's level of diagnostic messages. /Qopenmp-report1
/Qopenmp-stubs -openmp-stubs Enables compilation of OpenMP programs in sequential mode. OFF
/Qopt-mem-bandwidthn
(i64 only)
-opt-mem-bandwidthn
(i64 only; Linux only)
Enables performance tuning and heuristics that control memory bandwidth use among processors. /Qopt-mem-bandwidth0 for serial compilation; /Qopt-mem-bandwidth1 for parallel compilation
/Qopt-reportn -opt-reportn Tells the compiler to generate an optimization report to stderr. OFF
/Qopt-report-filefile -opt-report-filefile Tells the compiler to generate an optimization report named file. OFF
/Qopt-report-help -opt-report-help Displays the logical names of optimizers available for report generation (using /Qopt_report_phase). OFF
/Qopt-report-levellevel -opt-report-levellevel Specifies the detail level of the optimization report. This option has been deprecated. Use -opt-report. level: med
/Qopt-report-phasephase -opt-report-phasephase Specifies the optimizer phase to generate reports for. OFF
/Qopt-report-routine[string] -opt-report-routine[string] Generates a report on all routines or the routines containing the specified string. OFF
/Qopt-streaming-stores:keyword
(i32, i64em)
-opt-streaming-stores keyword
(i32, i64em)
Enables generation of streaming stores for optimization. /Qopt-streaming-stores:auto
/Qoption,string,options -Qoption,string,options Passes options to the specified tool in string. OFF
/Qpad -pad Enables the changing of the variable and array memory layout. /Qpad-
/Qpad-source -pad-source This is the same as specifying option /pad-source. /Qpad-source-
/Qpar-report[n] -par-report[n] Controls the auto-parallelizer's level of diagnostic messages. n=1
/Qpar-schedule-keyword[[:]n] -par-schedule-keyword[=n] Specifies a scheduling algorithm for DO loop iterations. OFF
/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. n = 100
/Qparallel -parallel Tells the auto-parallelizer to generate multithreaded code for loops that can be safely executed in parallel. OFF
/Qpcn
(i32, i64em)
-pcn
(i32, i64em)
Enables control of floating-point significand precision. n = 64
/Qprec -mp1 Improves floating-point precision; disables fewer optimizations and has less impact on performance than /fltconsistency. OFF
/Qprec-div
(i32, i64em)
-prec-div
(i32, i64em)
Disables floating point division-to-multiplication optimization resulting in more accurate division results; some speed impact. /Qprec-div-
/Qprec-sqrt
(i32, i64em)
-prec-sqrt
(i32, i64em)
Improves precision of square root implementations. OFF
/Qprefetch
(i64 only)
-prefetch
(i64 only; Linux only)
Enables prefetch insertion optimization (requires -O3).

/Qprefetch

/Qprof-dir dir -prof-dir dir Specifies a directory for profiling information output files. OFF
/Qprof-file file -prof-file file Specifies a file name for the profiling summary file. OFF
/Qprof-gen -prof-gen Instruments a program for profiling. OFF
/Qprof-gen-sampling -prof-gen-sampling Prepares application executables for hardware profiling (sampling) and causes the compiler to generate source code mapping information. OFF
/Qprof-genx -prof-genx Instruments a program for profiling and gathers extra information for code coverage tools. OFF
/Qprof-use -prof-use Enables the use of profiling information during optimization. OFF
/Qrcd
(i32, i64em)
-rcd
(i32, i64em)
Enables fast float-to-integer conversions. OFF
/Qrct
(i32 only)
None Sets the internal FPU rounding control to Truncate. OFF
/Qsafe-cray-ptr -safe-cray-ptr Tells the compiler that Cray* pointers do not alias other variables. OFF
/Qsave -save Causes variables to be placed in static memory. /Qauto-scalar
/Qsave-temps -save-temps Tells the compiler to save intermediate files created during compilation. .obj files are saved
/Qscalar-rep
(i32 only)
-scalar-rep
(i32 only)
Enables scalar replacement performed during loop transformation (requires /O3). /Qscalar-rep-
/Qsfalign[n]
(i32 only)
None Specifies stack alignment for functions. n is 8 or 16. /Qsfalign8
/Qsox -sox Tells the compiler to save the compiler options and version number in the executable. /Qsox-
/Qssp
(i32 only)
-ssp
(i32 only; Linux only)
Enables the software-based speculative pre-computation (SSP) optimization to generate prefetching helper threads. OFF
/Qtcheck:mode -tcheck mode
(Linux only)
Enables analysis of threaded applications. OFF
/Qtcollect -tcollect
(Linux only)
Inserts instrumentation probes calling the Intel(R) Trace Collector API. OFF
/Qtrapuv -ftrapuv Initializes stack local variables to an unusual value. OFF
/Qunroll[:n] -unroll[n] Tells the compiler the maximum number of times to unroll loops; same as the /unroll[:n] option. /Qunroll
/Quppercase -uppercase Causes the compiler to ignore case differences in identifiers and to convert external names to uppercase; same as the /names:uppercase option. Windows: ON
Linux: OFF
/Quse-asm
(i32 only)
-use-asm Tells the compiler to produce objects through the assembler. /Quse-asm-
/Quse-vcdebug
(i32 only)
None Tells the compiler to issue debug information compatible with the Visual C++ debugger. OFF
/Qvc6
(i32 only)
None Specifies compatibility with Visual C++ 6.0. depends on what version of Visual Studio is installed
/Qvc7.1
(i32, i64em)
None Specifies compatibility with Microsoft* Visual Studio .NET 2003. depends on what version of Visual Studio is installed
/Qvc8
(i32, i64em)
None Specifies compatibility with Microsoft* Visual Studio .NET 2005. depends on what version of Visual Studio is installed
/Qvec-report[n]
(i32, i64em)
-vec-report[n]
(i32, i64em)
Controls the diagnostic information reported by the vectorizer. n = 1
/Qvms -vms Causes the run-time system to behave like HP Fortran for OpenVMS* Alpha systems and VAX* systems (VAX FORTRAN*) in certain ways; same as the /vms option. /novms
/Qxp
(i32, i64em)
-xp
(i32, i64em)
Generates the minimum set of processor-specific instructions required for the processor that executes your program. The p indicates the processor type. i32: OFF
i64em: /QxW
/Qzero -zero Initializes to zero all local scalar variables of intrinsic type INTEGER, REAL, COMPLEX, or LOGICAL that are saved but not yet initialized. OFF
/real-size:size -real-size size Specifies the default KIND for real variables. size: 32
/recursive -recursive Tells the compiler that all routines should be compiled for possible recursive execution.

/norecursive

/reentrancy:keyword -reentrancy keyword Tells the compiler to generate reentrant code to support a multithreaded application. /noreentrancy
/RTCu -check uninit or -CU Enables run-time checking for uninitialized variables. OFF
/S -S Causes the compiler to compile to an assembly file only and not link. OFF
/source:file None Tells the compiler to compile the file as a Fortran source file. OFF
/stand:keyword -stand keyword Causes the compiler to issue compile-time messages for nonstandard language elements. /nostand
/static -static
(Linux only)
Prevents linking with shared libraries. /static
/syntax-only -syntax-only Tells the compiler to check only for correct syntax. OFF
/Tf file -Tf file Tells the compiler to compile the file as a Fortran source file; same as the /source option. OFF
/threads -threads Tells the linker to search for unresolved references in a multithreaded run-time library. i32, i64: /nothreads
i64em: /threads
/traceback -traceback Tells the compiler to generate extra information in the object file to provide source file traceback information when a severe error occurs at run time. /notraceback
/tune:keyword
(i32, i64em)
-tune keyword
(i32, i64em)
Determines the version of the architecture for which the compiler generates instructions. keyword: pn4
/u None
Note: the Linux and Mac OS option -u is not the same
Undefines all previously defined preprocessor values. OFF
/Uname -Uname Undefines any definition currently in effect for the specified symbol; same as the /undefine option.  
/undefine:name None Undefines any definition currently in effect for the specified symbol. OFF
/unroll[:n] -unroll[n] Tells the compiler the maximum number of times to unroll loops. This is the same as /Qunroll, which is the recommended option to use.

/unroll

/us -us Tells the compiler to append an underscore character to external user-defined names; same as the /assume:underscore option. OFF
/Vstring None Places the text string specified into the object file (.obj) being generated by the compiler; same as the /bintext option. OFF
/vms -vms Causes the run-time system to behave like HP* Fortran on OpenVMS* Alpha systems and VAX* systems (VAX FORTRAN*). /novms
/w -w Disables all warning messages; same as specifying option /warn:none or /warn:nogeneral. OFF
/Wn -Wn Disables (n=0) or enables (n=1) all warning messages. n = 1
/warn:keyword -warn keyword Specifies diagnostic messages to be issued by the compiler. keywords:
alignments
general
usage
nodeclarations
noerrors
noignore_loc
nointerfaces
nostderrors
notruncated_source
nouncalled
nounused
/watch[:keyword] -watch [keyword] Tells the compiler to display certain information to the console output window. /nowatch
/what -what Tells the compiler to display the version strings of the Fortran driver and the compiler. OFF
/winapp None Tells the compiler to create a graphics or Fortran Windows application and link against the most commonly used libraries. OFF
/X -X Removes standard directories from the include file search path. OFF
/Zd None Tells the compiler to generate line numbers and minimal debugging information; same as the /debug:minimal option. OFF
/Zi or /Z7 -g Tells the compiler to generate full debugging information in the object file; same as the /debug:full or /debug option. OFF
/Zl None Prevents any linker search options from being included into the object file; same as the /libdir:none or /nolibdir option. OFF
/Zp[n] -Zp[n] 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. n = 16
/Zs -y Tells the compiler to perform syntax checking only; same as the /syntax-only option. OFF

Cross Reference of Linux and Mac OS Options to Windows Options

The following cross-reference table shows all supported Linux and Mac OS options and equivalent Windows options, if any. If an option in the Linux and Mac OS Option column is restricted to Linux systems, it is labeled "Linux only".

Linux and Mac OS Option Windows Option Description Default
-1 /1 Executes at least one iteration of DO loops. OFF
-66 None Tells the compiler to use FORTRAN 66 semantics. OFF
-72, -80, -132 /4L{72|80|132} Treats the statement field of each fixed-form source line as ending in column 72, 80, or 132; same as the -extend_source option.. -72
/4L72
-align [keyword] /align[:keyword] Tells the compiler how to align certain data items. keywords:
nocommons
nodcommons
records
nosequence
-allow [no]fpp_comments /allow:[no]fpp_comments Determines how the fpp preprocessor treats Fortran end-of-line comments in preprocessor directive lines. -allow fpp_comments
-altparam /altparam Allows alternate syntax (without parentheses) for PARAMETER statements. ON
-ansi-alias /Qansi-alias Tells the compiler to assume the program adheres to the Fortran 95 Standard type aliasability rules. ON
-arch keyword
(i32, i64em)
/architecture:keyword
(i32, i64em)
Determines the version of the architecture for which the compiler generates instructions. keyword: pn4
-assume keyword /assume:keyword Specifies assumptions made by the compiler. keywords:
noprotect_parens
protect_
constants
source_
include
nobscc
nobuffered_io
nobyterecl
nocc_omp
nodummy_
aliases
nominus0
underscore
no2underscores

nowriteable-strings
-auto /Qauto Causes all variables to be allocated to the run-time stack; same as the -automatic option. OFF
-auto-scalar /Qauto-scalar Causes allocation of scalar variables of intrinsic types INTEGER, REAL, COMPLEX, and LOGICAL to the run-time stack. ON
-autodouble /Qautodouble Makes default real and complex variables 8 bytes long; same as the -real_size 64 option. OFF
-automatic /automatic Causes all variables to be allocated to the run-time stack; same as the /auto option. OFF
-axp
(i32, i64em)
/Qaxp
(i32, i64em)
Generates processor-specific code if there is a performance benefit. The p indicates the processor type. Linux: OFF
Mac OS: -axP (equivalent to -xP)
-Bdir None Specifies a directory that can be used to find include files, libraries, and executables. OFF
-Bdynamic
(
Linux only)
None Enables dynamic linking of libraries at run time. OFF
-Bstatic
(
Linux only)
None Enables static linking of a user's library. OFF
-c /c Causes the compiler to compile to an object file only and not link. OFF
-CB /CB Performs run-time checks on whether array subscript and substring references are within declared bounds; same as the -check bounds option. OFF
-ccdefault keyword /ccdefault:keyword Specifies the type of carriage control used when a file is displayed at a terminal screen. keyword: default
-check [keyword] /check[:keyword] Checks for certain conditions at run time. OFF
-cm /cm Disables all messages about questionable programming practices; same as specifying option -warn nousage. OFF
-common-args /Qcommon-args Tells the compiler that dummy (formal) arguments to procedures share memory locations with other dummy arguments or with COMMON variables that are assigned. OFF
-complex-limited-range /Qcomplex-limited-range Enables the use of basic algebraic expansions of some arithmetic operations involving data of type COMPLEX. OFF
-convert keyword /convert:keyword Specifies the format of unformatted files containing numeric data. keyword:
native
-cpp /Qcpp Runs the Fortran preprocessor on source files prior to compilation. OFF
-CU /CU Enables run-time checking for uninitialized variables. This option is the same as -check uninit. OFF
-cxxlib[=dir] None Tells the compiler to link using the C++ run-time libraries provided by gcc. -no-cxxlib
-cxxlib-nostd None Prevents the compiler from linking with the standard C++ library. -no-cxxlib
-Dname[=value] /Dname[=value] Defines a symbol name that can be associated with an optional value. OFF
-d-lines /d-lines Compiles debugging statements indicated by the letter D in column 1 of the source code. -nod-lines
-DD /Qd-lines Compiles debugging statements indicated by the letter D in column 1 of the source code; same as the -d-lines option. OFF
-diag-type diag-list /Qdiag-type:diag-list Controls the display of diagnostic information. OFF
-diag-dump /Qdiag-dump Tells the compiler to print all enabled diagnostic messages and stop compilation. OFF
-diag-enable sv-include /Qdiag-enable:sv-include Tells the Static Verifier to analyze include files and source files when issuing diagnostic message. OFF
-diag-file[=file] /Qdiag-file[:file ] Causes the results of diagnostic analysis to be output to a file. OFF
-diag-id-numbers /Qdiag-id-numbers Tells the compiler to display diagnostic messages by using their ID number values. ON
-debug keyword /debug:keyword
Note: the Windows option takes different keywords
Specifies settings that enhance debugging. OFF
-debug-parameters [keyword] /debug-parameters[:keyword] Tells the compiler to generate debug information for PARAMETERs used in a program. keyword:
none
-double_size size /double_size:size Defines the default KIND for DOUBLE PRECISION and DOUBLE COMPLEX variables. size = 64
-dps /Qdps Specifies that the alternate syntax for PARAMETER statements is allowed; same as the -altparam option. ON
-dryrun None Specifies that driver tool commands should be shown but not executed. OFF
-dynamic-linkerfile
(Linux only)
None Specifies a dynamic linker in file other than the default. OFF
-dynamiclib
(i32 only; Mac OS only)
None Invokes the libtool command to generate dynamic libraries. OFF
-dyncom "a,b,c" /Qdyncom:A,B,C Enables dynamic allocation of the specified COMMON blocks at run time.

OFF

-E /E Causes the Fortran preprocessor to send output to stdout. OFF
-e03, -e95, -e90 /4Ys Causes the compiler to issue errors instead of warnings for nonstandard Fortran; same as the -warn stderrors option. OFF
-EP /EP Causes the Fortran preprocessor to send output to stdout, omitting #line directives. OFF
-error_limit n /error_limit:n Specifies the maximum number of error-level or fatal-level compiler errors allowed for a file specified on the command line. n = 30
-extend_source size /extend_source:size Specifies the length of the statement field in a fixed-form source file. size = 72
-f66 /f66 Tells the compiler to use FORTRAN 66 semantics. OFF
-f77rtl /f77rtl Tells the compiler to use FORTRAN 77 run-time behavior. OFF
-fast /fast Maximizes speed across the entire program. OFF
-fcode-asm /FAc Produces an assembly file with optional machine code annotations. OFF
-FI /FI Specifies source files are in fixed format; same as the -fixed option. determined by file suffix
-finline-functions None Enables  certain interprocedural optimizations for single file compilation. ON
-finline-limit=n None Lets you specify the maximum size of a function to be inlined. OFF
-finstrument-functions /Qinstrument-functions Determines whether function entry and exit points are instrumented. -fno-instrument-functions
-fixed /fixed Specifies source files are in fixed format. determined by file suffix
-fkeep-static-consts /Qkeep-static-consts Tells the compiler to preserve allocation of variables that are not referenced in the source. -fno-keep-static-consts
-fltconsistency /fltconsistency Enables improved floating-point consistency. OFF
-fmath-errno None Tells the compiler that errno can be reliably tested after calls to standard math library functions. OFF
-fminshared None Tells the compiler to treat a compilation unit as a component of a main program and not to link it as a shareable object. OFF
-fno-alias None Specifies that aliasing should not be assumed in the program. -falias
-fno-fnalias None Specifies that aliasing should not be assumed within functions, but should be assumed across calls. -ffnalias
-fnsplit
(i64 only; Linux only)
/Qfnsplit
(i32, I64)
Enables function splitting. OFF
-f[no-]omit-frame-pointer
(i32, i64em)
/Oy[-]
(i32 only)
Determines whether EBP is used as a general-purpose register in optimizations. This is the same as specifying option -fp, which is deprecated. -fomit-frame-pointer (unless option -O0 or -g is specified)F
-fp
(i32, i64em)
/Oy-
(i32 only)
Disables using EBP as a general purpose register so it can be used as a stack frame pointer. This option is deprecated, use -f[no-]omit-frame-pointer. OFF
-fp-model keyword /fp:keyword Controls the semantics of floating-point calculations. -fp-model fast
-fp-port
(i32, i64em)
/Qfp-port
(i32, i64em)
Rounds floating-point results after floating-point operations, so rounding to user-declared precision happens at assignments and type conversions (some impact on speed). ON
-fp-speculation=mode /Qfp-speculation=mode Tells the compiler the mode in which to speculate on floating-point operations. -fp-speculation=fast
-fp-stack-check
(i32, i64em)
/Qfp-stack-check
(i32, i64em)
Generates extra code after every function call to ensure that the FP (floating-point) stack is in the expected state. OFF
-fpconstant /fpconstant Tells the compiler that single-precision constants assigned to double-precision variables should be evaluated in double precision. OFF
-fpen /fpe:n Specifies floating-point exception handling at run time for the main program. -fpe3
-fpic, -fPIC
(
Linux only)
None Generates position-independent code. OFF
-fpp /fpp Runs the Fortran preprocessor on source files prior to compilation. OFF
-fpscomp [keyword] /fpscomp[:keyword] Specifies compatibility with Microsoft* Fortran PowerStation or IntelŪ Fortran. keyword: libs
-fpstkchk
(i32, i64em)
/Qfpstkchk
(i32, i64em)
Generates extra code after every function call to ensure that the FP (floating-point) stack is in the expected state. This is a deprecated option; use -fp-stack-check. OFF
-FR /FR Specifies source files are in free format; same as the -free option. determined by file suffix
-fr32
(i64 only; Linux only)
None Disables use of high floating-point registers. OFF
-free /free Specifies source files are in free format. determined by file suffix
-fsource-asm /FAs Produces an assembly file with optional source code annotations. OFF
-ftrapuv /Qtrapuv Initializes stack local variables to an unusual value. OFF
-ftz /Qftz Flushes denormal results to zero. i64: -no-ftz
i32, i64em: -ftz
-[no-]func-groups
(i32, i64em)
None Enables or disables function grouping if profiling information is enabled. -no-func-groups
-funroll-loops /Qunroll Tells the compiler to unroll user loops based on the default optimization heuristics; same as -unroll, which is the recommended option.

-funroll-loops

-fverbose-asm None Produces an assembly file with compiler comments, including options and version information. OFF
-fvisibility=keyword
-fvisibility-
keyword=file
None Specifies the default visibility for global symbols; the 2nd form indicates symbols in a file. OFF
-g /Zi, /Z7 Produces symbolic debug information in the object file. OFF
-gdwarf2 None Enables generation of debug information using the DWARF2 format. OFF
-gen-interfaces [[no]sources] /gen-interfaces[:[no]sources] Tells the compiler to generate an interface block for each routine in a source file. OFF
-global-hoist /Qglobal-hoist Enables certain optimizations that can move memory loads to a point earlier in the program execution than where they appear in the source. OFF
-heap-arrays [size] /heap-arrays[:size] Puts automatic arrays and arrays created for temporary computations on the heap instead of the stack. OFF
-help /help Displays the list of compiler options. OFF
-Idir /Idir Specifies a directory to add to the include path. OFF
-i-dynamic None Links Intel-provided libraries dynamically. OFF
-i-static None Links Intel-provided libraries statically. OFF
-i{2|4|8} /4I{2|4|8} Specifies the default KIND for integer and logical variables; same as the -integer_size option. -i4
-implicitnone /4Yd Sets the default type of a variable to undefined. OFF
-inline-debug-info /Qinline-debug-info Produces enhanced source position information for inlined code. OFF
-inline-factor=n /Qinline-factor=n Specifies the percentage multiplier that should be applied to all inlining options that define upper limits. OFF
-inline-forceinline /Qinline-forceinline Specifies that an inline routine should be inlined whenever the compiler can do so. OFF
-inline-level=n /Obn Specifies the level of inline function expansion. n = 0, 1, or 2. -inline-level=2 if -O2 is in effect
-inline-level=0
if -O0 is specified
-inline-max-per-compile=n /Qinline-max-per-compile=n Specifies the maximum number of times inlining may be applied to an entire compilation unit. OFF
-inline-max-per-routine=n /Qinline-max-per-routine=n Specifies the maximum number of times the inliner may inline into a particular routine. OFF
-inline-max-size=n /Qinline-max-size=n Specifies the lower limit for the size of what the inliner considers to be a large routine. OFF
-inline-max-total-size=n /Qinline-max-total-size=n Specifies how much larger a routine can normally grow when inline expansion is performed. OFF
-inline-min-size=n /Qinline-min-size=n Specifies the upper limit for the size of what the inliner considers to be a small routine. OFF
-intconstant /intconstant Tells the compiler to use Fortran 77 semantics to determine the KIND for integer constants. OFF
-integer_size size /integer_size:size Specifies the default KIND for integer and logical variables. size = 32
-ip /Qip Enables additional single-file interprocedural optimizations. OFF
-ip-no-inlining /Qip-no
-inlining
Disables full and partial inlining enabled by -ip. OFF
-ip-no-pinlining /Qip-no
-pinlining
Disables partial inlining. OFF
-IPF-flt-eval-method0
(i64 only; Linux only)
/QIPF-flt-eval-method0
(i64 only)
Tells the compiler to evaluate the expressions involving floating-point operands in the precision indicated by the variable types declared in the program. OFF
-IPF-fltacc
(i64 only; Linux only)
/QIPF-fltacc
(i64 only)
Tells the compiler to apply optimizations that affect floating-point accuracy. OFF
-IPF-fma
(i64 only; Linux only)
/QIPF-fma
(i64 only)
Enables the combining of floating-point multiplies and add/subtract operations. ON
-IPF-fp-relaxed
(i64 only; Linux only)
/QIPF-fp-relaxed
(i64 only)
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. OFF
-IPF-fp-speculationmode
(i64 only; Linux only)
/QIPF-fp-speculationmode
(i64 only)
Enables or disables floating-point speculations. mode: fast
-ipo[n] /Qipo[n] Enables multifile IP optimizations between files. OFF
-ipo-c /Qipo-c Generates a multifile object file that can be used in further link steps. OFF
-ipo-jobs<n> /Qipo-jobs:<n> Specifies the number of commands to be executed simultaneously during the link phase of Interprocedural Optimization (IPO). -ipo-jobs1
-ipo-S /Qipo-S Generates a multifile assembly file that can be used in further link steps. OFF
-ipo-separate /Qipo-separate Generates one object file per source file. OFF
-isystemdir None Specifies a directory to add to the start of the system include path. OFF
-ivdep-parallel
(i64 only; Linux only)
/Qivdep-parallel
(i64 only)
Tells the compiler that there is no loop-carried memory dependency in any loop following an IVDEP directive. OFF
-lstring None Tells the linker to search for a specified library when linking. OFF
-Ldir None Tells the linker where to search for libraries before searching the standard directories. OFF
-lowercase /Qlowercase Causes the compiler to ignore case differences in identifiers and to convert external names to lowercase; same as the -names lowercase option.. Linux: ON
Windows: OFF
-logo /logo Displays compiler version information. Linux: OFF
Windows: ON
-m32
-m64

(i32, i64em; Mac OS only)
None Tells the compiler to generate code for IA-32 architecture or IntelŪ 64 architecture, respectively. OFF
-map-opts /Qmap-opts Converts one or more Linux* compiler options to their equivalent on a Windows* system (or vice versa). OFF
-march=cpu
(i32, i64em)
None Tells the compiler to generate code for a specified CPU. OFF
-mcmodel=mem_model
(i64em only; Linux only)

None

Tells the compiler to use a specific memory model to generate code and store data. -mcmodel=small
-mdynamic-no-pic
(i32 only; Mac OS only)
None Generates code that is not position-independent but has position-independent external references. OFF
-mieee-fp /fltconsistency Tells the compiler to use IEEE floating point comparisons. This is there same as specifying option -mp or -fltconsistency. OFF
-mixed_str_len_arg /iface: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. OFF
-module path /module:path Specifies the directory where module files should be placed when created and where they should be searched for. OFF
-mp /Op Enables improved floating-point consistency. OFF
-mp1 /Qprec Improves floating-point precision; disables fewer optimizations and has less impact on performance than -fltconsistency or -mp. OFF
-mrelax None Tells the compiler to pass linker option -relax to the linker. OFF
-msse[n]
(i32, i64em)
None Tells the compiler to generate code for certain IntelŪ PentiumŪ processors. OFF
-mtune=keyword None Performs optimizations for a particular CPU. OFF
-mtune=itanium2-p9000
(i64 only; Linux only)
/G2-p9000
(i64 only)
Optimizes for Dual-Core IntelŪ ItaniumŪ 2 Processor 9000 series. OFF
-names keyword /names:keyword Specifies how source code identifiers and external names are interpreted. keyword:
Linux: lowercase
Windows: uppercase
-nbs /nbs Tells the compiler to treat the backslash character (\) as a normal character in character literals; same as the -assume nobscc option. ON
-no-cpprt None Tells the compiler to use the default run-time libraries and not link to any additional C++ run-time libraries. This is the same as specifying -no-cxxlib. OFF
-noalign /noalign Prevents the alignment of data items. OFF
-noaltparam /noaltparam Specifies that the alternate form of parameter constant declarations (without parentheses) should not be recognized. OFF
-nobss-init /Qnobss-init Places any variables that are explicitly initialized with zeros in the DATA section. OFF
-nodefaultlibs None 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
-nofor_main None Specifies the main program is not written in Fortran, and prevents the compiler from linking for_main.o into applications. OFF
-no-global-hoist /Qglobal-hoist- Disables certain optimizations, such as load hoisting and speculative loads, that can move memory loads to a point earlier in the program execution than where they appear in the source. OFF
-noinclude /noinclude Prevents the compiler from searching in a directory previously added to the include path for files specified in an INCLUDE statement. OFF
-nostdinc /X Removes standard directories from the include file search path; same as the -X option. OFF
-nostdlib None Prevents the compiler from using standard libraries and startup files when linking. OFF
-nowarn /nowarn Suppresses all warning messages. OFF
-nus None Disables appending an underscore to external user-defined names; same as the -assume nounderscore option. OFF
-ofile /exe and /Fe Specifies the name for an output file. OFF
-O0 /Od Disables all -O<n> optimizations. OFF
-O1 /O1 Enables optimizations for speed and disables some optimizations that increase code size and affect speed. OFF
-O2 /O2 Enables optimizations for speed. This is the generally recommended optimization level. ON
-O3 /O3 Enables -O2 optimizations plus more aggressive optimizations. OFF
-onetrip /onetrip Executes at least one iteration of DO loops. OFF
-openmp /Qopenmp Enables the parallelizer to generate multithreaded code based on OpenMP* directives. OFF
-openmp-profile
(Linux only)
/Qopenmp-profile Enables analysis of OpenMP* applications. OFF
-openmp-report[n] /Qopenmp-report[n] Controls the OpenMP parallelizer's level of diagnostic messages. -openmp-report1
-openmp-stubs /Qopenmp-stubs Enables compilation of OpenMP programs in sequential mode. OFF
-opt-mem-bandwidthn
(i64 only; Linux only)
/Qopt-mem-bandwidthn
(i64 only)
Enables performance tuning and heuristics that control memory bandwidth use among processors. -opt-mem-bandwidth0 for serial compilation; -opt-mem-bandwidth1 for parallel compilation
-opt-reportn /Qopt-reportn Tells the compiler to generate an optimization report to stderr. OFF
-opt-report-filefile /Qopt-report-filefile Tells the compiler to generate an optimization report named file. OFF
-opt-report-help /Qopt-report-help Displays the logical names of optimizers available for report generation using -opt-report-phase. OFF
-opt-report-levellevel /Qopt-report-levellevel Specifies the detail level of the optimization report. This option has been deprecated. Use -opt-report. level: med
-opt-report-phasephase /Qopt-report-phasephase Specifies the optimizer phase to generate reports for. OFF
-opt-report-routine[string] /Qopt-report-routine[string] Generates a report on all routines or the routines containing the specified string. OFF
-opt-streaming-stores keyword
(i32, i64em)
/Qopt-streaming-stores:keyword
(i32, i64em)
Enables generation of streaming stores for optimization. -opt-streaming-stores auto
-p None Compiles and links for function profiling with gprof(1). OFF
-P /P Causes the Fortran preprocessor to send output to a file, which is named by default (same as the -preprocess_only or -F option). OFF
-pad /Qpad Enables the changing of the variable and array memory layout. OFF
-pad-source /pad-source Specifies that fixed-form source records shorter than the statement field width should be padded with spaces (on the right) to the end of the statement field. OFF
-par-report[n] Qpar-report[n] Controls the auto-parallelizer's level of diagnostic messages. n: 1
-par-schedule-keyword[=n] /par-schedule-keyword[[:]n] Specifies a scheduling algorithm for DO loop iterations. OFF
-par-threshold[n] /Qpar-threshold[[:]n] Sets a threshold for the auto-parallelization of loops based on the probability of profitable execution of the loop in parallel. n = 100
-parallel /Qparallel Tells the auto-parallelizer to generate multithreaded code for loops that can be safely executed in parallel. OFF
-pcn
(i32, i64em)
/Qpcn
(i32, i64em)
Enables control of floating-point significand precision. n = 80
-pg None Compiles and links for function profiling with gprof(1). OFF
-prec-div
(i32, i64em)
/Qprec-div
(i32, i64em)
Disables floating point division-to-multiplication optimization resulting in more accurate division results; some speed impact. OFF
-prec-sqrt
(i32, i64em)
/Qprec-sqrt
(i32, i64em)
Improves precision of square root implementations. OFF
-prefetch
(i64 only; Linux only)
/Qprefetch
(i64 only)
Enables prefetch insertion optimization (requires -O3). ON
-preprocess_only /preprocess_only Causes the Fortran preprocessor to send output to a file, which is named by default (same as the -P or -F option). OFF
-print-multi-lib None Prints information about where system libraries should be found. OFF
-prof-dir dir /Qprof-dir dir Specifies a directory for profiling information output files. OFF
-prof-file file /Qprof-file file Specifies a file name for the profiling summary file. OFF
-prof-gen /Qprof-gen Instruments a program for profiling. OFF
-prof-gen-sampling /Qprof-gen-sampling Prepares application executables for hardware profiling (sampling) and causes the compiler to generate source code mapping information. OFF
-prof-genx /Qprof-genx Instruments a program for profiling and gathers extra information for code coverage tools. OFF
-prof-use /Qprof-use Enables the use of profiling information during optimization. OFF
-Qinstalldir None Specifies the root directory where the compiler installation was performed. OFF
-Qlocation,string,dir /Qlocation,string,dir Specifies a directory as the location of the specified tool in string. OFF
-Qoption,string,options /Qoption,string,options Passes options to the specified tool in string. OFF
-qp None Compiles and links for function profiling with prof(1). OFF
-r8 /4R8 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). OFF
-r16 /4R16 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. OFF
-rcd
(i32, i64em)
/Qrcd
(i32, i64em)
Enables fast float-to-integer conversions. OFF
-real_size size /real_size:size Specifies the default KIND for real variables. size: 32
-recursive /recursive Tells the compiler that all routines should be compiled for possible recursive execution. OFF
-reentrancy keyword /reentrancy:keyword Tells the compiler to generate reentrant code to support a multithreaded application. OFF
-S /S; also /Fa and /asmfile Causes the compiler to compile to an assembly file (.s) only and not link. OFF
-safe-cray-ptr /Qsafe-cray-ptr Tells the compiler that Cray* pointers do not alias other variables. OFF
-save /Qsave Causes variables to be placed in static memory. OFF
-save-temps /Qsave-temps Tells the compiler to save intermediate files created during compilation. -no-save-temps
-scalar-rep
(i32 only)
/Qscalar-rep
(i32 only)
Enables scalar replacement performed during loop transformation (requires -O3). OFF
-shared
(Linux only)
None Tells the compiler to produce a dynamic shared object instead of an executable. OFF
-shared-intel None Links Intel-provided libraries dynamically. OFF
-shared-libcxa
(Linux only)
None Links the Intel libcxa C++ library dynamically. OFF
-shared-libgcc
(Linux only)
None Links the GNU libgcc library dynamically. OFF
-sox /Qsox Tells the compiler to save the compiler options and version in the executable. OFF
-ssp
(i32 only; Linux only)
/Qssp
(i32 only)
Enables the software-based speculative pre-computation (SSP) optimization to generate prefetching helper threads. OFF
-stand keyword /stand:keyword Causes the compiler to issue compile-time messages for nonstandard language elements. OFF
-static
(Linux only)
/static Prevents linking with shared libraries. ON
-static-intel None Links Intel-provided libraries statically. OFF
-static-libcxa
(Linux only)
None Links the Intel libcxa C++ library statically. OFF
-static-libgcc
(Linux only)
None Links the GNU libgcc library statically. OFF
-std90 or
-stand f90
/stand:f90 Causes the compiler to issue messages for language elements that are not standard in Fortran 90. OFF
-std95 or
-stand f95
/stand:f95 Causes the compiler to issue messages for language elements that are not standard in Fortran 95. OFF
-std03 or -std or
-stand f03
/stand:f03 Causes the compiler to issue messages for language elements that are not standard in Fortran 2003. OFF
-syntax-only /syntax-only Specifies that the source file should be checked only for correct syntax. OFF
-T file
(Linux only)
None Tells the linker to read link commands from the specified file. OFF
-tcheck mode
(Linux only)
/Qtcheck:mode Enables analysis of threaded applications. OFF
-Tf file /Tf file Tells the compiler to compile the file as a Fortran source file. OFF
-tcollect
(Linux only)
/Qtcollect Inserts instrumentation probes calling the Intel(R) Trace Collector API. OFF
-threads /threads Tells the linker to search for unresolved references in a multithreaded run-time library. i32, i64: OFF
i64em: ON
-tpp{1|2}
(i64 only; Linux only)
/G{1|2}
(i64 only)
Optimizes application performance for systems using IA-64 architecture. -tpp2
/G2
-traceback /traceback Tells the compiler to generate extra information in the object file to provide source file traceback information when a severe error occurs at run time. OFF
-tune keyword
(i32, i64em)
/tune:keyword
(i32, i64em)
Determines the version of the architecture for which the compiler generates instructions. keyword: pn4
-u None
Note: the Windows option /u is not the same
Enables error messages about any undeclared symbols; same as the -warn declarations option. OFF
-Uname /Uname Undefines any definition currently in effect for the specified symbol. OFF
-unroll[n] /unroll[:n] Tells the compiler the maximum number of times to unroll loops. -unroll is the same as option -funroll-loops. -unroll
-uppercase /Quppercase Causes the compiler to ignore case differences in identifiers and to convert external names to uppercase; same as the -names uppercase option. Linux: OFF
Windows: ON
-us /us Tells the compiler to append an underscore character to external user-defined names; same as the -assume underscore option. ON
-use-asm /Quse-asm
(i32 only)
Tells the compiler to produce objects through the assembler. OFF
-V /logo Displays the compiler version information. OFF
-v None Tells the driver that tool commands should be shown and executed. OFF
-vec-report[n]
(i32, i64em)
/Qvec-report[n]
(i32, i64em)
Controls the diagnostic information reported by the vectorizer. n = 1
-vms /vms Causes the run-time system to behave like HP* Fortran on OpenVMS* Alpha systems and VAX* systems (VAX FORTRAN*). OFF
-w /w Disables all warning messages; same as specifying option -warn none or -warn nogeneral. OFF
-Wn /Wn Disables (n=0) or enables (n=1) all warning messages. n = 1
-Wa,o1[,o2,...] None Passes options (o1,o2, and so forth) to the assembler for processing. OFF
-watch [keyword] /watch[:keyword] Tells the compiler to display certain information to the console output window. nowatch
-WB None Turns a compile-time bounds check error into a warning. OFF
-warn [keyword] /warn[:keyword] Specifies diagnostic messages to be issued by the compiler. keywords:
alignments
general
usage
nodeclarations
noerrors
noignore_loc
nointerfaces
nostderrors
notruncated_source
nouncalled
nounused
-what /what Tells the compiler to display the version strings of the Fortran driver and the compiler. OFF
-Wl,option1[,option2,...] None Passes options (o1, o2, and so forth) to the linker for processing. OFF
-Wp,option1[,option2,...] None Passes options (o1, o2, and so forth) to the preprocessor. OFF
-X /X Removes standard directories from the include file search path. OFF
-xp
(i32, i64em)
/Qxp
(i32, i64em)
Generates the minimum set of processor-specific instructions required for the processor that executes your program. The p indicates the processor type. Linux i32: OFF
Linux i64em: -xW
Mac OS i32: -xP
Mac OS i64: -xT
-Xlinker value None Passes value directly to the linker for processing. OFF
-y /Zs Specifies that the source file should be checked only for correct syntax; same as the -syntax-only option. OFF
-zero /Qzero Initializes to zero all local scalar variables of intrinsic type INTEGER, REAL, COMPLEX, or LOGICAL that are saved but not yet initialized. OFF
-Zp[n] /Zp[n] 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. n: 16

 

See Also

map-opts, Qmap-opts compiler options