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 IA-32-based systems.
i32em The option is available on IA-32-based systems with IntelŪ Extended Memory 64 Technology (IntelŪ EM64T).
i64 The option is available on ItaniumŪ-based systems.

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 /Qsave. /4Ya is the same as /Qautomatic. ON
/4Naltparam, /4Yaltparam None Determines whether alternate syntax is allowed for PARAMETER statements; same as the /altparam option). ON
/4Nb, /4Yb None Determines whether checking is performed for run-time failures (same as the /check option). OFF
/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. OFF
/4Nf, /4Yf None Specifies the format for source files. /4Nf is the same as /fixed. /4Yf is the same as /free. OFF
/4Ns, /4Ys -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. OFF
/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. ON
/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
/architecture:keyword
(i32, i32em)
-arch keyword
(i32, i32em)
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:
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. OFF
/automatic -automatic Causes all variables to be allocated to the run-time stack; same as the /auto option. OFF
/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. OFF
/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
/D<name>[=value] -D<name>[=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. OFF
/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. keyword:
none
/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
/F<n> 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
/Fe<file> -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. OFF
/Fm[file] None Tells the linker to generate a link map file; same as the /map option. OFF
/Fo<file> 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.

OFF

/fpe:<n> -fpe<n> 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. OFF
/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 IntelŪ ItaniumŪ processors. /G2
-tpp2
/G2-p9000
(i64 only)
-mtune itanium2-p9000
(i64 only; Linux only)
Optimizes for Dual-Core IntelŪ ItaniumŪ 2 Processor 9000 Sequence processors. OFF

/G{5|6|7}
(i32, i32em)

-tpp{5|6|7}
(i32, i32em; Linux only)

Optimizes application performance for IA-32 and IntelŪ EM64T processors.

/G7
-tpp7

/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 -gen-interfaces Tells the compiler to generate an interface block for each routine in a source file. OFF
/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
/help -help Displays the list of compiler options; same as the /? option. OFF
/I:<dir> -I<dir> 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> -I<dir> Specifies a directory to add to the include path; same as the /I option. OFF
/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: ON
Linux: OFF
/map[:file] None Tells the linker to generate a link map file. OFF
/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
i32em: OFF
/MLd None Specifies a single-threaded, static, debug library; same as specifying options /libs:static /dbglibs. i32, i64: ON
i32em: 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
i32em: ON
/MTd None Tells the linker to search for unresolved references in a multithreaded, static, debug run-time library. i32, i64: OFF
i32em: 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
/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
/nodefine -nodefine Specifies that all preprocessor definitions apply only to fpp and not to IntelŪ Fortran conditional compilation directives. OFF
/noinclude -X Removes standard directories from the include file search path; same as the /X option. OFF
/nowarn -nowarn Suppresses all warning messages. 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
/Ob<n> -Ob<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> -O<n> 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)
-fp
(i32, i32em)
Disallows use of EBP as a general-purpose register in optimizations. 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. /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. OFF
/Qansi-alias -ansi-alias Tells the compiler to assume the program adheres to the Fortran 95 Standard type aliasability rules. ON
/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. ON
/Qautodouble -autodouble Makes default real and complex variables 8 bytes long; same as the /real_size:64 option. OFF
/Qax<p>
(i32, i32em)
-ax<p>
(i32, i32em)
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. ON
/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. OFF
/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
/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. OFF
/Qfp_port
(i32 only)
-fp-port
(i32, i32em)
Rounds floating-point results after floating-point operations, so rounding to user-declared precision happens at assignments and type conversions (some impact on speed). 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.
OFF
/Qfpstkchk
(i32, i32em)
-fpstkchk
(i32, i32em)
Generates extra code after every function call to ensure that the FP (floating-point) stack is in the expected state. OFF
/Qftz -ftz Flushes denormal results to zero. OFF
/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. OFF
/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-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
/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, i32em)
-ip-no-pinlining
(i32, i32em)
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. OFF
/QIPF-fma
(i64 only)
-IPF-fma
(i64 only; Linux only)
Enables the combining of floating-point multiplies and add/subtract operations. ON
/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. OFF
/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-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
/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-bandwidth<n>
(i64 only)

-opt-mem-bandwidth<n>
(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-report

-opt-report

Tells the compiler to generate an optimization report to stderr.

OFF

/Qopt-report-file<file> -opt-report-file<file> 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-level<level> -opt-report-level<level> Specifies the detail level of the optimization report. level: min
/Qopt-report-phase<phase> -opt-report-phase<phase> 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
/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. OFF
/Qpad-source -pad-source This is the same as specifying option /pad-source. OFF
/Qpar-report[n] -par-report[n] Controls the auto-parallelizer's level of diagnostic messages. n=1
/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
/Qpc<n>
(i32, i32em)
-pc<n>
(i32, i32em)
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, i32em)
-prec-div
(i32, i32em)
Disables floating point division-to-multiplication optimization resulting in more accurate division results; some speed impact. OFF
/Qprec-sqrt
(i32, i32em)
-prec-sqrt
(i32, i32em)
Improves precision of square root implementations. OFF
/Qprefetch
(i64 only)
-prefetch
(i64 only; Linux only)
Enables prefetch insertion optimization (requires -O3). ON
/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-format-32
(i32, i64)
-prof-format-32
(i32, i64)
Produces profile data with 32-bit counters. 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, i32em)
-rcd
(i32, i32em)
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. OFF
/Qscalar-rep
(i32 only)
-scalar-rep
(i32 only)
Enables scalar replacement performed during loop transformation (requires /O3). OFF
/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. OFF
/Qssp
(i32 only)
-ssp
(i32 only; Linux only)
Enables the software-based speculative pre-computation (SSP) optimization to generate prefetching helper threads. OFF
/Qtcheck -tcheck
(Linux only)
Enables analysis of threaded applications. OFF
/Qtrapuv -ftrapuv Initializes local variables to Not a Number (NaN). OFF
/Qunroll[:n] -unroll[n] Tells the compiler the maximum number of times to unroll loops; same as the /unroll[:n] option. OFF
/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. OFF
/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. OFF
/Qvc7
(i32 only)
None Specifies compatibility with Microsoft* Visual Studio .NET 2002. OFF
/Qvc7.1
(i32, i32em)
None Specifies compatibility with Microsoft* Visual Studio .NET 2003. OFF
/Qvc8
(i32, i32em)
None Specifies compatibility with Microsoft* Visual Studio .NET 2005. OFF

/Qvec-report[n]
(i32, i32em)

-vec-report[n]
(i32, i32em)

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. OFF
/Qx<p>
(i32, i32em)
-x<p>
(i32, i32em)
Generates the minimum set of processor-specific instructions required for the processor that executes your program. The p indicates the processor type. OFF
/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. OFF
/reentrancy:<keyword> -reentrancy <keyword> Tells the compiler to generate reentrant code to support a multithreaded application. OFF
/RTCu None Causes checking to occur for uninitialized variables; same as the /check:uninit option. 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. OFF
/static -static
(Linux only)
Prevents linking with shared libraries. ON
/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: OFF
i32em: ON
/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, i32em)
-tune <keyword>
(i32, i32em)
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
/U<name> -U<name> 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. OFF
/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*). OFF
/w -w Disables all warning messages; same as specifying option /warn:none or /warn:nogeneral. OFF
/W<n> -W<n> 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, i32em)
/architecture:<keyword>
(i32, i32em)
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:
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
-ax<p>
(i32, i32em)
/Qax<p>
(i32, i32em)
Generates processor-specific code if there is a performance benefit. The p indicates the processor type. Linux: OFF
Mac OS: -axP (equivalent to -xP)
-B<dir> 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
-cxxlib-<mode> None Tells the compiler to link using certain C++ run-time libraries. OFF
-D<name>[=value] /D<name>[=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. OFF
-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
-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-linker<file>
(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
-e95, -e90 /4Ys Causes the compiler to issue errors instead of warnings for nonstandard Fortran 95 or Fortran 90; 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
-F
(Linux only)
None Causes the Fortran preprocessor to send output to a file, which is named by default (same as the -preprocess_only or -P option). OFF
-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
-fixed /fixed Specifies source files are in fixed format. determined by file suffix
-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
-fno-omit-frame-pointer
(i32, i32em)
None Disables using EBP as a general purpose register so it can be used as a stack frame pointer. This is the same as specifying option -fp. OFF
-fp
(i32, i32em)
/Oy-
(i32 only)
Disables using EBP as a general purpose register so it can be used as a stack frame pointer. OFF
-fp-model <keyword> /fp:<keyword> Controls the semantics of floating-point calculations. -fp-model fast

-fp-port
(i32, i32em)

/Qfp-port
(i32 only)

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

-fpconstant /fpconstant Tells the compiler that single-precision constants assigned to double-precision variables should be evaluated in double precision. OFF
-fpe<n> /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, i32em)
/Qfpstkchk
(i32, i32em)
Generates extra code after every function call to ensure that the FP (floating-point) stack is in the expected state. 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 local variables to Not a Number (NaN). OFF
-ftz /Qftz Flushes denormal results to zero. OFF
-funroll-loops None Tells the compiler to unroll user loops based on the default optimization heuristics; same as option -unroll. OFF
-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
-gen-interfaces /gen-interfaces 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
-help /help Displays the list of compiler options. OFF
-I<dir> /I<dir> 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-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-speculation<mode>
(i64 only; Linux only)
/QIPF-fp-speculation<mode>
(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-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
-isystem<dir> 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

-Kpic, -KPIC
(Linux only)
None This is a deprecated option; use -fpic instead. OFF
-l<string> None Tells the linker to search for a specified library when linking. OFF

-L<dir>

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
-map-opts /Qmap-opts Converts one or more Linux* compiler options to their equivalent on a Windows* system (or vice versa). OFF
-mcmodel=mem_model
(i32em only; Linux only)
None Tells the compiler to use a specific memory model to generate code and store data. -mcmodel=small
-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 <dir> /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
-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 Sequence processors. 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
-o<file> /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
-Ob<n> /Ob<n> Specifies the level of inline function expansion. n = 0, 1, or 2. -Ob2 if -O2 is in effect
-Ob0
if -O0 is specified
-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-bandwidth<n>
(i64 only; Linux only)
/Qopt-mem-bandwidth<n>
(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-report

/Qopt-report

Tells the compiler to generate an optimization report to stderr.

OFF

-opt-report-file<file> /Qopt-report-file<file> 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-level<level> /Qopt-report-level<level> Specifies the detail level of the optimization report. level: min
-opt-report-phase<phase> /Qopt-report-phase<phase> 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
-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-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
-pc<n>
(i32, i32em)
/Qpc<n>
(i32, i32em)
Enables control of floating-point significand precision. n = 80
-pg None Compiles and links for function profiling with gprof(1). OFF
-prec-div
(i32, i32em)
/Qprec-div
(i32, i32em)
Disables floating point division-to-multiplication optimization resulting in more accurate division results; some speed impact. OFF
-prec-sqrt
(i32, i32em)
/Qprec-sqrt
(i32, i32em)
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-format-32
(i32, i64)
/Qprof-format-32
(i32, i64)
Produces profile data with 32-bit counters. 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
-Qinstall<dir> 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, i32em)
/Qrcd
(i32, i32em)
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
-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-libcxa
(Linux only)
None Links the Intel libcxa C++ 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-libcxa
(Linux only)
None Links the Intel libcxa C++ 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 -std or
-stand f95
/stand:f95 Causes the compiler to issue messages for language elements that are not standard in Fortran 95. 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
(Linux only)
/Qtcheck Enables analysis of threaded applications. OFF
-Tf <file> /Tf <file> Tells the compiler to compile the file as a Fortran source file. OFF
-threads /threads Tells the linker to search for unresolved references in a multithreaded run-time library. i32, i64: OFF
i32em: ON
-tpp{1|2}
(i64 only; Linux only)
/G{1|2}
(i64 only)
Optimizes application performance for IntelŪ ItaniumŪ processors. -tpp2
/G2
-tpp{5|6|7}
(i32, i32em; Linux only)
/G{5|6|7}
(i32, i32em)
Optimizes application performance for IA-32 and IntelŪ EM64T processors. -tpp7
/G7
-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, i32em)
/tune:<keyword>
(i32, i32em)
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
-U<name> /U<name> 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. OFF
-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, i32em)
/Qvec-report[n]
(i32, i32em)
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
-W<n> /W<n> 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,o1[,o2,...] None Passes options (o1, o2, and so forth) to the linker for processing. OFF
-Wp,01[,o2,...] None Passes options (o1, o2, and so forth) to the preprocessor. OFF
-X /X Removes standard directories from the include file search path. OFF
-x<p>
(i32, i32em)
/Qx<p>
(i32, i32em)
Generates the minimum set of processor-specific instructions required for the processor that executes your program. The p indicates the processor type. Linux: OFF
Mac OS: -xP
-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