@gccoptlist{
-ffree-form -fno-fixed-form @gol
-fdollar-ok -fimplicit-none -fmax-identifier-length @gol
--std=@var{std}
+-std=@var{std} -fd-lines-as-code -fd-lines-as-comments @gol
-ffixed-line-length-@var{n} -ffixed-line-length-none @gol
--fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 }
+-ffree-line-length-@var{n} -ffree-line-length-none @gol
+-fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 @gol
+-fcray-pointer }
@item Warning Options
@xref{Warning Options,,Options to Request or Suppress Warnings}.
-fsyntax-only -pedantic -pedantic-errors @gol
-w -Wall -Waliasing -Wconversion @gol
-Wimplicit-interface -Wnonstd-intrinsics -Wsurprising -Wunderflow @gol
--Wunused-labels -Wline-truncation @gol
--Werror -W}
+-Wunused-labels -Wline-truncation -W}
@item Debugging Options
@xref{Debugging Options,,Options for Debugging Your Program or GCC}.
@gccoptlist{
--fdump-parse-tree}
+-fdump-parse-tree -ffpe-trap=@var{list}}
@item Directory Options
@xref{Directory Options,,Options for Directory Search}.
@item Code Generation Options
@xref{Code Gen Options,,Options for Code Generation Conventions}.
@gccoptlist{
--ff2c -fno-underscoring -fsecond-underscore @gol
+-fno-automatic -ff2c -fno-underscoring -fsecond-underscore @gol
-fbounds-check -fmax-stack-var-size=@var{n} @gol
--fpackderived -frepack-arrays}
+-fpackderived -frepack-arrays -fshort-enums}
@end table
@menu
@cindex Fortran 90, features
@item -ffree-form
@item -ffixed-form
-Specify the layout used by the the source file. The free form layout
+Specify the layout used by the source file. The free form layout
was introduced in Fortran 90. Fixed form was traditionally used in
older Fortran programs.
+@cindex option, -fd-lines-as-code
+@cindex -fd-lines-as-code, option
+@cindex option, -fd-lines-as-comments
+@cindex -fd-lines-as-comments, option
+@item -fd-lines-as-code
+@item -fd-lines-as-comment
+Enables special treating for lines with @samp{d} or @samp{D} in fixed
+form sources. If the @option{-fd-lines-as-code} option is given
+they are treated as if the first column contained a blank. If the
+@option{-fd-lines-as-comments} option is given, they are treated as
+comment lines.
+
@cindex option, -fdefault-double-8
@cindex -fdefault-double-8, option
@item -fdefault-double-8
@cindex character set
Allow @samp{$} as a valid character in a symbol name.
+@cindex -fno-backslash option
+@cindex options, -fno-backslash
+@item -fno-backslash
+@cindex backslash
+@cindex escape characters
+Compile switch to change the interpretation of a backslash from
+``C''-style escape characters to a single backslash character.
+
@cindex -ffixed-line-length-@var{n} option
@cindex options, -ffixed-line-length-@var{n}
@item -ffixed-line-length-@var{n}
@option{-ffixed-line-length-0} means the same thing as
@option{-ffixed-line-length-none}.
+@cindex -ffree-line-length-@var{n} option
+@cindex options, -ffree-line-length-@var{n}
+@item -ffree-line-length-@var{n}
+@cindex source file format
+@cindex lines, length
+@cindex length of source lines
+@cindex free form
+@cindex limits, lengths of source lines
+Set column after which characters are ignored in typical free-form
+lines in the source file. For free-form, the default value is 132.
+@var{n} may be @samp{none}, meaning that the entire line is meaningful.
+@option{-ffree-line-length-0} means the same thing as
+@option{-ffree-line-length-none}.
+
@cindex -fmax-identifier-length=@var{n} option
@cindex option -fmax-identifier-length=@var{n}
@item -fmax-identifier-length=@var{n}
@samp{IMPLICIT} statements. This is the equivalent of adding
@samp{implicit none} to the start of every procedure.
+@cindex -fcray-pointer option
+@cindex options, -fcray-pointer
+@item -fcray-pointer
+Enables the Cray pointer extension, which provides a C-like pointer.
+
@cindex -std=@var{std} option
@cindex option, -std=@var{std}
@item -std=@var{std}
Conform to the specified standard. Allowed values for @var{std} are
-@samp{gnu} and @samp{f95}.
+@samp{gnu}, @samp{f95}, @samp{f2003} and @samp{legacy}.
@end table
really useful for debugging gfortran itself.
@end table
+@table @gcctabopt
+@cindex -ffpe-trap=@var{list} option
+@cindex option, -ffpe-trap=@var{list}
+@item -ffpe-trap=@var{list}
+Specify a list of IEEE exceptions when a Floating Point Exception
+(FPE) should be raised. On most systems, this will result in a SIGFPE
+signal being sent and the program being interrupted, producing a core
+file useful for debugging. @var{list} is a (possibly empty) comma-separated
+list of the following IEEE exceptions: @samp{invalid} (invalid floating
+point operation, such as @code{sqrt(-1.0)}), @samp{zero} (division by
+zero), @samp{overflow} (overflow in a floating point operation),
+@samp{underflow} (underflow in a floating point operation),
+@samp{precision} (loss of precision during operation) and @samp{denormal}
+(operation produced a denormal denormal value).
+@end table
+
@xref{Debugging Options,,Options for Debugging Your Program or GCC,
gcc,Using the GNU Compiler Collection (GCC)}, for more information on
debugging options.
@cindex INCLUDE directive
@cindex directive, INCLUDE
-There options affect how affect how @command{gfortran} searches
-for files specified via the @code{INCLUDE} directive, and where it searches
+These options affect how @command{gfortran} searches
+for files specified by the @code{INCLUDE} directive and where it searches
for previously compiled modules.
It also affects the search paths used by @command{cpp} when used to preprocess
can figure out the other form by either removing @option{no-} or adding
it.
-
@table @gcctabopt
+@cindex @option{-fno-automatic} option
+@cindex options, @option{-fno-automatic}
+@item -fno-automatic
+@cindex SAVE statement
+@cindex statements, SAVE
+Treat each program unit as if the @code{SAVE} statement was specified for
+every local variable and array referenced in it. Does not affect common
+blocks. (Some Fortran compilers provide this option under the name
+@option{-static}.)
+
@cindex @option{-ff2c} option
@cindex options, @option{-ff2c}
@item -ff2c
source file by appending underscores to them.
With @option{-funderscoring} in effect, @command{gfortran} appends one
-underscore to external names with no underscores.
-
-This is done to ensure compatibility with code produced by many
-UNIX Fortran compilers.
+underscore to external names with no underscores. This is done to ensure
+compatibility with code produced by many UNIX Fortran compilers.
@emph{Caution}: The default behavior of @command{gfortran} is
incompatible with @command{f2c} and @command{g77}, please use the
-@option{-ff2c} and @option{-fsecond-underscore} options if you want
-object files compiled with @option{gfortran} to be compatible with
-object code created with these tools.
+@option{-ff2c} option if you want object files compiled with
+@option{gfortran} to be compatible with object code created with these
+tools.
Use of @option{-fno-underscoring} is not recommended unless you are
experimenting with issues such as integration of (GNU) Fortran into
This should result in faster accesses to the array. However it can introduce
significant overhead to the function call, especially when the passed data
is discontiguous.
+
+@cindex -fshort-enums
+@item -fshort-enums
+This option is provided for interoperability with C code that was
+compiled with the @command{-fshort-enums} option. It will make
+@command{gfortran} choose the smallest @code{INTEGER} kind a given
+enumerator set will fit in, and give all its enumerators this kind.
@end table
@xref{Code Gen Options,,Options for Code Generation Conventions,