Next: Preprocessing Options, Previous: Option Summary, Up: Invoking GNU Fortran
The following options control the details of the Fortran dialect accepted by the compiler:
-ffree-form-ffixed-form-fall-intrinsicsEXTERNAL.
-fd-lines-as-code-fd-lines-as-commentsd or D
in fixed form sources. If the -fd-lines-as-code option is
given they are treated as if the first column contained a blank. If the
-fd-lines-as-comments option is given, they are treated as
comment lines.
-fdefault-double-8DOUBLE PRECISION type to an 8 byte wide type. If
-fdefault-real-8 is given, DOUBLE PRECISION would
instead be promoted to 16 bytes if possible, and -fdefault-double-8
can be used to prevent this. The kind of real constants like 1.d0 will
not be changed by -fdefault-real-8 though, so also
-fdefault-double-8 does not affect it.
-fdefault-integer-842.
-fdefault-real-81.0, and does promote
the default width of DOUBLE PRECISION to 16 bytes if possible, unless
-fdefault-double-8 is given, too.
-fdollar-okIMPLICIT statements is also rejected.
-fbackslash\a, \b, \f, \n,
\r, \t, \v, \\, and \0 to the ASCII
characters alert, backspace, form feed, newline, carriage return,
horizontal tab, vertical tab, backslash, and NUL, respectively.
Additionally, \xnn, \unnnn and
\Unnnnnnnn (where each n is a hexadecimal digit) are
translated into the Unicode characters corresponding to the specified code
points. All other combinations of a character preceded by \ are
unexpanded.
-fmodule-privatePRIVATE.
Use-associated entities will not be accessible unless they are explicitly
declared as PUBLIC.
-ffixed-line-length-nPopular values for n include 72 (the
standard and the default), 80 (card image), and 132 (corresponding
to “extended-source” options in some popular compilers).
n may also be `none', meaning that the entire line is meaningful
and that continued character constants never have implicit spaces appended
to them to fill out the line.
-ffixed-line-length-0 means the same thing as
-ffixed-line-length-none.
-ffree-line-length-n-fmax-identifier-length=n-fimplicit-noneIMPLICIT statements. This is the equivalent of adding
implicit none to the start of every procedure.
-fcray-pointer-fopenmp!$omp directives
in free form
and c$omp, *$omp and !$omp directives in fixed form,
!$ conditional compilation sentinels in free form
and c$, *$ and !$ sentinels in fixed form,
and when linking arranges for the OpenMP runtime library to be linked
in. The option -fopenmp implies -frecursive.
-fno-range-checka = 1. / 0.
With this option, no error will be given and a will be assigned
the value +Infinity. If an expression evaluates to a value
outside of the relevant range of [-HUGE():HUGE()],
then the expression will be replaced by -Inf or +Inf
as appropriate.
Similarly, DATA i/Z'FFFFFFFF'/ will result in an integer overflow
on most systems, but with -fno-range-check the value will
“wrap around” and i will be initialized to -1 instead.
-std=std