Intel(R) Fortran Compiler

NAME
       Intel(R) Fortran Compiler

SYNOPSIS
       ifc [options] file1 [file2 ...] where:

       options represents zero or more compiler options

       fileN  is  a Fortran source (.f .for .ftn .f90 .fpp), assembly (.s), object (.o),
       static library (.a), or other linkable file

       NOTE:  Commonly used options may be placed in the ifc.cfg file.

DESCRIPTION
       Intel(R)  Fortran Compiler Options. This compiler is designed to preprocess,
       compile, assemble, and link Fortran programs on IA-32 systems.

Compiler Option List
   Performance
       -O1            Enable optimizations (DEFAULT)

       -O2            Same as -O1

       -O3            Enable -O2 plus more aggressive optimizations that may not improve
                      performance for all programs

       -O0            Disable optimizations

       -O             Same as -O1

       -falias        Assume aliasing in program (DEFAULT)

       -Ob<n>         Control inline expansion:

                      n=0 -- Disables inlining

                      n=1  --  Inline  functions declared with __inline, and perform C++
                      inlining

                      n=2 -- Inline any function, at the compiler's discretion 
                             (same  as  -ip)

       -fno-alias     Assume no aliasing in program

       -ffnalias      Assume aliasing within functions (DEFAULT)

       -fno-fnalias   Assume  no  aliasing  within functions, but assume aliasing across
                      calls

       -fp            Disable using EBP as general purpose register

       -mp            Maintain floating point precision (disables some optimizations)

       -mp1           Improve floating-point precision (speed impact is less than -mp)

       -prec_div      Improve precision of floating-point divides (some speed impact)

       -fp_port       Round fp results at assignments & casts (some speed impact)

       -pc32          Set internal FPU precision to 24 bit significand

       -pc64          Set internal FPU precision to 53 bit significand (DEFAULT)

       -pc80          Set internal FPU precision to 64 bit significand

       -rcd           Enable fast float-to-int conversions

       -tpp5          Optimize for Pentium(R) processor

       -tpp6          Optimize for Pentium(R) Pro, Pentium(R) II and Pentium(R) III 
                      processors

       -tpp7          Optimize for Pentium(R) 4 processor

       -ax<codes>     Generate  code  specialized  for processor extensions specified by
                      <codes>  while  also  generating  generic  IA-32  code. <codes>
                      includes one or more of the following characters:

                      i -- Pentium Pro and Pentium II processor instructions

                      M -- MMX(TM) instructions

                      K -- streaming SIMD extensions

                      W -- Pentium(R) 4 New Instructions

       -x<codes>      Generate  specialized  code  to run exclusively on processors 
                      supporting the extensions indicated by <codes> as described above.

   Advanced Performance
       Enable and specify the scope of Interprocedural (IP) Optimizations:

       -ip            Enable single-file IP optimizations (within files)

       -ipo           Enable multi-file IP optimizations (between files)
       -ipo_c         Generate a multi-file object file (ipo_out.o)

       -ipo_S         Generate a multi-file assembly file (ipo_out.s)

       Modify the behavior of IP:

       -ip_no_inlining
                      Disable full and partial inlining (requires -ip or -ipo)

       -ip_no_pinlining
                      Disable partial inlining (requires -ip or -ipo)

       -ipo_obj       Force generation of real object files (requires -ipo)

       Other Advanced Performance Options:

       -nolib_inline  Disable inline expansion of intrinsic functions

       -pad           Enable changing variable and array memory layout

       -nopad         Disable(DEFAULT) changing variable and array memory layout

       -unroll[n]     Set maximum number of times to unroll loops. Omit n to use default
                      heuristics. Use n=0 to disable loop unroller.

       -prof_dir <d>  Specify directory for profiling output files (*.dyn and *.dpi)

       -prof_file <f> Specify file name for profiling summary file

       -prof_gen      Instrument program for profiling

       -prof_use      Enable use of profiling information during optimization

       -qp, -p        Compile and link for function profiling with UNIX prof tool

       -vec           Enable(DEFAULT) the vectorizer

       -vec_report[n] Control amount of vectorizer diagnostic information:

                      n=0 no diagnostic information

                      n=1 indicate vectorized loops (DEFAULT)

                      n=2 indicate vectorized/non-vectorized loops

                      n=3  indicate vectorized/non-vectorized loops and prohibiting data
                      dependence information

                      n=4 indicate non-vectorized loops

                      n=5 indicate non-vectorized loops and prohibiting data  dependence
                      information

       -opt_report    Generate an optimization report to stderr

       -opt_report_file<file>
                      Specify the filename for the generated report

       -opt_report_level[level]
                      Specify the level of report verbosity (min|med|max)

       -opt_report_phase<name>
                      Specify the phase that reports are generated against

       -opt_report_routine<name>
                      Reports on routines containing the given name

       -opt_report_help
                      Display the optimization phases available for reporting

       -openmp        Enable  the  compiler to generate multi-threaded code based on the
                      OpenMP directives

       -openmp_stubs  Enables the user to compile OpenMP programs  in  sequential  mode.
                      The  openmp  directives  are  ignored and a stub OpenMP library is
                      linked (sequential)

       -openmp_report{0|1|2}
                      Control the OpenMP parallelizer diagnostic level

       -parallel      Enable the auto-parallelizer to generate multi-threaded  code  for
                      loops that can be safely executed in parallel

       -par_report{0|1|2|3}
                      Control the auto-parallelizer diagnostic level

       -par_threshold[n]
                      Set  threshold for the auto-parallelization of loops where n is an
                      integer from 0 to 100

       -ansi_ansi[-]  Enable(DEFAULT)[disable] stating ANSI compliance of  the  compiled
                      program and that optimizations can be based on the ANSI rules

       -prefetch[-]   Enable(DEFAULT)[disable] prefetch insertion (requires -O3)

       -scalar_rep[-] Enable(DEFAULT)[disable] scalar replacement (requires -O3)

   Output, Debug
       -c             Compile to object (.o) only, do not link

       -S             Compile to assembly (.s) only, do not link (*I)

       -use_asm       Produce objects through assembler

       -use_msasm     Support  Microsoft  style  assembly  language insertion using MASM
                      style syntax and, if requested, output assembly in MASM format

       -fcode-asm     Produce assembly file with optional code annotations

       -fsource-asm   Produce assembly file with optional code annotations

       -f[no]verbose-asm
                      Produce assembly file with compiler comments (DEFAULT)

       -G0            Print source listing on stdout

       -G1            Print source listing on stdout without INCLUDE files expanded

       -o<file>       Name output file

       -g             Produce symbolic debug information in object file

       -inline_debug_info
                      Preserve the source position of inlined code instead of  assigning
                      the call-site source position to inlined code

   Fortran Preprocessor
       -A-            Remove all predefined macros (incompatible with -openmp)

       -D<name>[=<text>]
                      Define macro

       -E             Preprocess to stdout

       -EP            Preprocess to stdout omitting #line directives

       -P, -F         Preprocess to file

       -fpp[n]        Run Fortran preprocessor on source files prior to compilation

                      n=0 disable CVF and # directives, equivalent to no fpp

                      n=1 enable CVF conditional compilation and # directives (DEFAULT)

                      n=2 enable only # directives

                      n=3 enable only CVF conditional compilation directives

       -cpp[n]        Same as -fpp[n]

       -I<dir>         Add directory to include file search path

       -U<name>       Remove predefined macro

       -X             Remove standard directories from include file search path

   FCE/Component Control
       -Qoption,<str>,<opts>
              Pass options <opts> to tool specified by <str>

       -Qlocation,<str>,<dir>
              Set <dir> as the location of tool specified by <str>

       -Qinstall <dir>
              Set <dir> as root of compiler installation

   Language
       -i2            Set default KIND of integer variables is 2

       -i4            Set default KIND of integer variables is 4

       -i8            Set default KIND of integer variables is 8

       -r8            Set default size of REAL to 8 bytes

       -r16           Set default size of REAL to 16 bytes

       -autodouble    Same as -r8

       -doubletemps   All  intermediate  results  of floating-points values are at least
                      double precision.

       -DD            Compile debug statements (indicated by D in column 1)

       -DX            Compile statements that have X in column 1

       -DY            Compile statements that have Y in column 1

       -FR            Specifies source files are in free format

       -FI            Specifies source files are in fixed format

       -72            Specify 72 column lines for fixed form sources

       -80            Specify 80 column lines for fixed form sources
       -132           Specify 132 column lines for fixed form sources

       -extend_source Same as -132

       -pad_source    Make compiler acknowledge blanks at the end of a line

       -dps           Enable DEC* PARAMETER statement recognition (DEFAULT)

       -nodps         Disable DEC* PARAMETER statement recognition

       -1, -onetrip   Execute any DO loop at least once

       -auto          Make all local variables AUTOMATIC

       -auto_scalar   Make scalar local variables AUTOMATIC (DEFAULT)

       -save          Save all variables (static allocation); opposite of -auto

       -u, -implicitnone
                      Set IMPLICIT NONE by default

       -Qansi[-]      Enable(DEFAULT)[disable] stating ANSI compliance of  the  compiled
                      program and that optimizations can be based on the ANSI rules

       -common_args   Assume "by reference" subprogram arguments may alias one another

       -vms           Enable VMS and DEC statement extensions

       -zero          Implicitly initialize all data to zero

       -C             Enable extensive runtime error checking (-CA, -CB, -CS, -CU, -CV)

       -CA            Runtime checks for nil pointer/allocatable array refs

       -CB            Runtime checks for out-of-bounds array subscript/substring refs

       -CS            Runtime  checks  for consistent shape of intrinsic procedure array
                      args

       -CU            Runtime checks for uninitialized variables

       -CV            Runtime checks for formal/actual parameter correspondence

       -d<n>          Set level of diagnostics

       -Qdyncom"blk1,blk2,..."
                      Make given common blocks dynamically-allocated

       -Qloccom"blk1,blk2,..."
                      Make given common blocks locally-allocated

       -nbs           Treat backslash as a normal character, not an escape character

       -nus           Do not append an underscore to external subroutine names

       -nus[,<file>]  Do not append an underscore to subroutine names listed in <file>

       -lowercase     Change routine names to all lowercase (DEFAULT)

       -uppercase     Change routine names to all uppercase

       -[no]align     Analyze and reorder memory layout for variables and arrays

       -Zp[n]         Specify alignment constraint for structures (n=1,2,4,8,16)

       -y, -syntax    Perform syntax check only

   Compiler Diagnostics
       -cerrs[-]      Enable[disable](DEFAULT) terse format for diagnostic messages

       -cm            Suppress all comment messages

       -q             Suppress printing errors to stderr

       -w             Disable all warnings

       -Wn            Disable warnings (n=0) or show warnings (n=1, DEFAULT)

       -WB            Issue a warning instead of an error for out-of-bounds array
                      references

       -w90, -w95     Suppress messages about use of non-standard Fortran

       -e90, -e95     Issue errors for non-standard Fortran

   Miscellaneous
       -help          Prints list of compiler options

       -V             Display compiler version information

       -sox[-]        Enable(DEFAULT)[disable] saving of compiler options and version in
                      the executable

       -dryrun        Show driver tool commands but do not execute tools

       -v             Show driver tool commands and execute tools

       -Tf<file>      Compile file as Fortran source

       -nobss_init    Disable placement of zero-initialized variables in BSS (use DATA)

       -Kpic, -KPIC   Generate position independent code

       -fpic, -fPIC   Generate position independent code

       -0f_check      Enable the patch for the Pentium 0f erratum

       -convert{ little endian | big endian | native }
                      Specifies the format of unformatted files containing numeric data

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

       -show[-]       Enables  [disables]  printing a source listing to stdout with
                      contents of INCLUDE files.

   Linking/Linker
       -L<dir>        Instruct linker to search <dir> for libraries

       -i_dynamic     Link Intel provided libraries dynamically

       -no_cpprt      Do not link in C++ runtime libraries

       -nodefaultlibs Do not use standard libraries when linking

       -nostartfiles  Do not use standard startup files when linking

       -nostdlib      Do not use standard libraries and startup files when linking

       -static        Prevents linking with shared libraries

       -shared        Produce a shared object

       -Xlinker <val> Pass <val> directly to the linker for processing

       -Wl,<o1>[,<o2>,...]
                      Pass options o1, o2, etc. to the linker for processing

       -C90           Link with alternate I/O library for mixed output with C

       -posixlib      Link with POSIX library

       -Vaxlib        Link with portability library

       -dynamic-linker<filename>
                      Selects a dynamic linker (filename) other than the default

Copyright(C) 2002                   Intel Corporation                             IFC(1)