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.
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 |
-opt-report-routine[ |
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 |
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 |
/Qopt-report-routine[ |
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 |
map-opts, Qmap-opts compiler options