.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
|
.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
|
.\"
|
.\"
|
.\" Standard preamble:
|
.\" Standard preamble:
|
.\" ========================================================================
|
.\" ========================================================================
|
.de Sh \" Subsection heading
|
.de Sh \" Subsection heading
|
.br
|
.br
|
.if t .Sp
|
.if t .Sp
|
.ne 5
|
.ne 5
|
.PP
|
.PP
|
\fB\\$1\fR
|
\fB\\$1\fR
|
.PP
|
.PP
|
..
|
..
|
.de Sp \" Vertical space (when we can't use .PP)
|
.de Sp \" Vertical space (when we can't use .PP)
|
.if t .sp .5v
|
.if t .sp .5v
|
.if n .sp
|
.if n .sp
|
..
|
..
|
.de Vb \" Begin verbatim text
|
.de Vb \" Begin verbatim text
|
.ft CW
|
.ft CW
|
.nf
|
.nf
|
.ne \\$1
|
.ne \\$1
|
..
|
..
|
.de Ve \" End verbatim text
|
.de Ve \" End verbatim text
|
.ft R
|
.ft R
|
.fi
|
.fi
|
..
|
..
|
.\" Set up some character translations and predefined strings. \*(-- will
|
.\" Set up some character translations and predefined strings. \*(-- will
|
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
.\" double quote, and \*(R" will give a right double quote. | will give a
|
.\" double quote, and \*(R" will give a right double quote. | will give a
|
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
|
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
|
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
|
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
|
.\" expand to `' in nroff, nothing in troff, for use with C<>.
|
.\" expand to `' in nroff, nothing in troff, for use with C<>.
|
.tr \(*W-|\(bv\*(Tr
|
.tr \(*W-|\(bv\*(Tr
|
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
.ie n \{\
|
.ie n \{\
|
. ds -- \(*W-
|
. ds -- \(*W-
|
. ds PI pi
|
. ds PI pi
|
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
. ds L" ""
|
. ds L" ""
|
. ds R" ""
|
. ds R" ""
|
. ds C` ""
|
. ds C` ""
|
. ds C' ""
|
. ds C' ""
|
'br\}
|
'br\}
|
.el\{\
|
.el\{\
|
. ds -- \|\(em\|
|
. ds -- \|\(em\|
|
. ds PI \(*p
|
. ds PI \(*p
|
. ds L" ``
|
. ds L" ``
|
. ds R" ''
|
. ds R" ''
|
'br\}
|
'br\}
|
.\"
|
.\"
|
.\" If the F register is turned on, we'll generate index entries on stderr for
|
.\" If the F register is turned on, we'll generate index entries on stderr for
|
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
|
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
|
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
.\" output yourself in some meaningful fashion.
|
.\" output yourself in some meaningful fashion.
|
.if \nF \{\
|
.if \nF \{\
|
. de IX
|
. de IX
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
..
|
..
|
. nr % 0
|
. nr % 0
|
. rr F
|
. rr F
|
.\}
|
.\}
|
.\"
|
.\"
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
.\" way too many mistakes in technical documents.
|
.\" way too many mistakes in technical documents.
|
.hy 0
|
.hy 0
|
.if n .na
|
.if n .na
|
.\"
|
.\"
|
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
. \" fudge factors for nroff and troff
|
. \" fudge factors for nroff and troff
|
.if n \{\
|
.if n \{\
|
. ds #H 0
|
. ds #H 0
|
. ds #V .8m
|
. ds #V .8m
|
. ds #F .3m
|
. ds #F .3m
|
. ds #[ \f1
|
. ds #[ \f1
|
. ds #] \fP
|
. ds #] \fP
|
.\}
|
.\}
|
.if t \{\
|
.if t \{\
|
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
. ds #V .6m
|
. ds #V .6m
|
. ds #F 0
|
. ds #F 0
|
. ds #[ \&
|
. ds #[ \&
|
. ds #] \&
|
. ds #] \&
|
.\}
|
.\}
|
. \" simple accents for nroff and troff
|
. \" simple accents for nroff and troff
|
.if n \{\
|
.if n \{\
|
. ds ' \&
|
. ds ' \&
|
. ds ` \&
|
. ds ` \&
|
. ds ^ \&
|
. ds ^ \&
|
. ds , \&
|
. ds , \&
|
. ds ~ ~
|
. ds ~ ~
|
. ds /
|
. ds /
|
.\}
|
.\}
|
.if t \{\
|
.if t \{\
|
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
.\}
|
.\}
|
. \" troff and (daisy-wheel) nroff accents
|
. \" troff and (daisy-wheel) nroff accents
|
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
.ds ae a\h'-(\w'a'u*4/10)'e
|
.ds ae a\h'-(\w'a'u*4/10)'e
|
.ds Ae A\h'-(\w'A'u*4/10)'E
|
.ds Ae A\h'-(\w'A'u*4/10)'E
|
. \" corrections for vroff
|
. \" corrections for vroff
|
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
. \" for low resolution devices (crt and lpr)
|
. \" for low resolution devices (crt and lpr)
|
.if \n(.H>23 .if \n(.V>19 \
|
.if \n(.H>23 .if \n(.V>19 \
|
\{\
|
\{\
|
. ds : e
|
. ds : e
|
. ds 8 ss
|
. ds 8 ss
|
. ds o a
|
. ds o a
|
. ds d- d\h'-1'\(ga
|
. ds d- d\h'-1'\(ga
|
. ds D- D\h'-1'\(hy
|
. ds D- D\h'-1'\(hy
|
. ds th \o'bp'
|
. ds th \o'bp'
|
. ds Th \o'LP'
|
. ds Th \o'LP'
|
. ds ae ae
|
. ds ae ae
|
. ds Ae AE
|
. ds Ae AE
|
.\}
|
.\}
|
.rm #[ #] #H #V #F C
|
.rm #[ #] #H #V #F C
|
.\" ========================================================================
|
.\" ========================================================================
|
.\"
|
.\"
|
.IX Title "GFORTRAN 1"
|
.IX Title "GFORTRAN 1"
|
.TH GFORTRAN 1 "2007-10-07" "gcc-4.2.2" "GNU"
|
.TH GFORTRAN 1 "2007-10-07" "gcc-4.2.2" "GNU"
|
.SH "NAME"
|
.SH "NAME"
|
gfortran \- GNU Fortran compiler
|
gfortran \- GNU Fortran compiler
|
.SH "SYNOPSIS"
|
.SH "SYNOPSIS"
|
.IX Header "SYNOPSIS"
|
.IX Header "SYNOPSIS"
|
gfortran [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR]
|
gfortran [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR]
|
[\fB\-g\fR] [\fB\-pg\fR] [\fB\-O\fR\fIlevel\fR]
|
[\fB\-g\fR] [\fB\-pg\fR] [\fB\-O\fR\fIlevel\fR]
|
[\fB\-W\fR\fIwarn\fR...] [\fB\-pedantic\fR]
|
[\fB\-W\fR\fIwarn\fR...] [\fB\-pedantic\fR]
|
[\fB\-I\fR\fIdir\fR...] [\fB\-L\fR\fIdir\fR...]
|
[\fB\-I\fR\fIdir\fR...] [\fB\-L\fR\fIdir\fR...]
|
[\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR]
|
[\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR]
|
[\fB\-f\fR\fIoption\fR...]
|
[\fB\-f\fR\fIoption\fR...]
|
[\fB\-m\fR\fImachine-option\fR...]
|
[\fB\-m\fR\fImachine-option\fR...]
|
[\fB\-o\fR \fIoutfile\fR] \fIinfile\fR...
|
[\fB\-o\fR \fIoutfile\fR] \fIinfile\fR...
|
.PP
|
.PP
|
Only the most useful options are listed here; see below for the
|
Only the most useful options are listed here; see below for the
|
remainder.
|
remainder.
|
.SH "DESCRIPTION"
|
.SH "DESCRIPTION"
|
.IX Header "DESCRIPTION"
|
.IX Header "DESCRIPTION"
|
The \fBgfortran\fR command supports all the options supported by the
|
The \fBgfortran\fR command supports all the options supported by the
|
\&\fBgcc\fR command. Only options specific to \s-1GNU\s0 Fortran are documented here.
|
\&\fBgcc\fR command. Only options specific to \s-1GNU\s0 Fortran are documented here.
|
.PP
|
.PP
|
All \s-1GCC\s0 and \s-1GNU\s0 Fortran options
|
All \s-1GCC\s0 and \s-1GNU\s0 Fortran options
|
are accepted both by \fBgfortran\fR and by \fBgcc\fR
|
are accepted both by \fBgfortran\fR and by \fBgcc\fR
|
(as well as any other drivers built at the same time,
|
(as well as any other drivers built at the same time,
|
such as \fBg++\fR),
|
such as \fBg++\fR),
|
since adding \s-1GNU\s0 Fortran to the \s-1GCC\s0 distribution
|
since adding \s-1GNU\s0 Fortran to the \s-1GCC\s0 distribution
|
enables acceptance of \s-1GNU\s0 Fortran options
|
enables acceptance of \s-1GNU\s0 Fortran options
|
by all of the relevant drivers.
|
by all of the relevant drivers.
|
.PP
|
.PP
|
In some cases, options have positive and negative forms;
|
In some cases, options have positive and negative forms;
|
the negative form of \fB\-ffoo\fR would be \fB\-fno\-foo\fR.
|
the negative form of \fB\-ffoo\fR would be \fB\-fno\-foo\fR.
|
This manual documents only one of these two forms, whichever
|
This manual documents only one of these two forms, whichever
|
one is not the default.
|
one is not the default.
|
.SH "OPTIONS"
|
.SH "OPTIONS"
|
.IX Header "OPTIONS"
|
.IX Header "OPTIONS"
|
Here is a summary of all the options specific to \s-1GNU\s0 Fortran, grouped
|
Here is a summary of all the options specific to \s-1GNU\s0 Fortran, grouped
|
by type. Explanations are in the following sections.
|
by type. Explanations are in the following sections.
|
.IP "\fIFortran Language Options\fR" 4
|
.IP "\fIFortran Language Options\fR" 4
|
.IX Item "Fortran Language Options"
|
.IX Item "Fortran Language Options"
|
\&\fB\-fall\-intrinsics \-ffree\-form \-fno\-fixed\-form
|
\&\fB\-fall\-intrinsics \-ffree\-form \-fno\-fixed\-form
|
\&\-fdollar\-ok \-fimplicit\-none \-fmax\-identifier\-length
|
\&\-fdollar\-ok \-fimplicit\-none \-fmax\-identifier\-length
|
\&\-std=\fR\fIstd\fR \fB\-fd\-lines\-as\-code \-fd\-lines\-as\-comments
|
\&\-std=\fR\fIstd\fR \fB\-fd\-lines\-as\-code \-fd\-lines\-as\-comments
|
\&\-ffixed\-line\-length\-\fR\fIn\fR \fB\-ffixed\-line\-length\-none
|
\&\-ffixed\-line\-length\-\fR\fIn\fR \fB\-ffixed\-line\-length\-none
|
\&\-ffree\-line\-length\-\fR\fIn\fR \fB\-ffree\-line\-length\-none
|
\&\-ffree\-line\-length\-\fR\fIn\fR \fB\-ffree\-line\-length\-none
|
\&\-fdefault\-double\-8 \-fdefault\-integer\-8 \-fdefault\-real\-8
|
\&\-fdefault\-double\-8 \-fdefault\-integer\-8 \-fdefault\-real\-8
|
\&\-fcray\-pointer \-fopenmp \-frange\-check \-fno\-backslash\fR
|
\&\-fcray\-pointer \-fopenmp \-frange\-check \-fno\-backslash\fR
|
.IP "\fIError and Warning Options\fR" 4
|
.IP "\fIError and Warning Options\fR" 4
|
.IX Item "Error and Warning Options"
|
.IX Item "Error and Warning Options"
|
\&\fB\-fmax\-errors=\fR\fIn\fR
|
\&\fB\-fmax\-errors=\fR\fIn\fR
|
\&\fB\-fsyntax\-only \-pedantic \-pedantic\-errors
|
\&\fB\-fsyntax\-only \-pedantic \-pedantic\-errors
|
\&\-Wall \-Waliasing \-Wampersand \-Wcharacter\-truncation \-Wconversion
|
\&\-Wall \-Waliasing \-Wampersand \-Wcharacter\-truncation \-Wconversion
|
\&\-Wimplicit\-interface \-Wline\-truncation \-Wnonstd\-intrinsics \-Wsurprising
|
\&\-Wimplicit\-interface \-Wline\-truncation \-Wnonstd\-intrinsics \-Wsurprising
|
\&\-Wno\-tabs \-Wunderflow\fR
|
\&\-Wno\-tabs \-Wunderflow\fR
|
.IP "\fIDebugging Options\fR" 4
|
.IP "\fIDebugging Options\fR" 4
|
.IX Item "Debugging Options"
|
.IX Item "Debugging Options"
|
\&\fB\-fdump\-parse\-tree \-ffpe\-trap=\fR\fIlist\fR
|
\&\fB\-fdump\-parse\-tree \-ffpe\-trap=\fR\fIlist\fR
|
.IP "\fIDirectory Options\fR" 4
|
.IP "\fIDirectory Options\fR" 4
|
.IX Item "Directory Options"
|
.IX Item "Directory Options"
|
\&\fB\-I\fR\fIdir\fR \fB\-J\fR\fIdir\fR \fB\-M\fR\fIdir\fR
|
\&\fB\-I\fR\fIdir\fR \fB\-J\fR\fIdir\fR \fB\-M\fR\fIdir\fR
|
.IP "\fIRuntime Options\fR" 4
|
.IP "\fIRuntime Options\fR" 4
|
.IX Item "Runtime Options"
|
.IX Item "Runtime Options"
|
\&\fB\-fconvert=\fR\fIconversion\fR \fB\-frecord\-marker=\fR\fIlength\fR
|
\&\fB\-fconvert=\fR\fIconversion\fR \fB\-frecord\-marker=\fR\fIlength\fR
|
\&\fB\-fmax\-subrecord\-length=\fR\fIlength\fR
|
\&\fB\-fmax\-subrecord\-length=\fR\fIlength\fR
|
.IP "\fICode Generation Options\fR" 4
|
.IP "\fICode Generation Options\fR" 4
|
.IX Item "Code Generation Options"
|
.IX Item "Code Generation Options"
|
\&\fB\-fno\-automatic \-ff2c \-fno\-underscoring
|
\&\fB\-fno\-automatic \-ff2c \-fno\-underscoring
|
\&\-fsecond\-underscore
|
\&\-fsecond\-underscore
|
\&\-fbounds\-check \-fmax\-stack\-var\-size=\fR\fIn\fR
|
\&\-fbounds\-check \-fmax\-stack\-var\-size=\fR\fIn\fR
|
\&\fB\-fpack\-derived \-frepack\-arrays \-fshort\-enums\fR
|
\&\fB\-fpack\-derived \-frepack\-arrays \-fshort\-enums\fR
|
.Sh "Options controlling Fortran dialect"
|
.Sh "Options controlling Fortran dialect"
|
.IX Subsection "Options controlling Fortran dialect"
|
.IX Subsection "Options controlling Fortran dialect"
|
The following options control the details of the Fortran dialect
|
The following options control the details of the Fortran dialect
|
accepted by the compiler:
|
accepted by the compiler:
|
.IP "\fB\-ffree\-form\fR" 4
|
.IP "\fB\-ffree\-form\fR" 4
|
.IX Item "-ffree-form"
|
.IX Item "-ffree-form"
|
.PD 0
|
.PD 0
|
.IP "\fB\-ffixed\-form\fR" 4
|
.IP "\fB\-ffixed\-form\fR" 4
|
.IX Item "-ffixed-form"
|
.IX Item "-ffixed-form"
|
.PD
|
.PD
|
Specify the layout used by 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
|
was introduced in Fortran 90. Fixed form was traditionally used in
|
older Fortran programs. When neither option is specified, the source
|
older Fortran programs. When neither option is specified, the source
|
form is determined by the file extension.
|
form is determined by the file extension.
|
.IP "\fB\-fall\-intrinsics\fR" 4
|
.IP "\fB\-fall\-intrinsics\fR" 4
|
.IX Item "-fall-intrinsics"
|
.IX Item "-fall-intrinsics"
|
Accept all of the intrinsic procedures provided in libgfortran
|
Accept all of the intrinsic procedures provided in libgfortran
|
without regard to the setting of \fB\-std\fR. In particular,
|
without regard to the setting of \fB\-std\fR. In particular,
|
this option can be quite useful with \fB\-std=f95\fR. Additionally,
|
this option can be quite useful with \fB\-std=f95\fR. Additionally,
|
\&\fBgfortran\fR will ignore \fB\-Wnonstd\-intrinsics\fR.
|
\&\fBgfortran\fR will ignore \fB\-Wnonstd\-intrinsics\fR.
|
.IP "\fB\-fd\-lines\-as\-code\fR" 4
|
.IP "\fB\-fd\-lines\-as\-code\fR" 4
|
.IX Item "-fd-lines-as-code"
|
.IX Item "-fd-lines-as-code"
|
.PD 0
|
.PD 0
|
.IP "\fB\-fd\-lines\-as\-comments\fR" 4
|
.IP "\fB\-fd\-lines\-as\-comments\fR" 4
|
.IX Item "-fd-lines-as-comments"
|
.IX Item "-fd-lines-as-comments"
|
.PD
|
.PD
|
Enable special treatment for lines beginning with \f(CW\*(C`d\*(C'\fR or \f(CW\*(C`D\*(C'\fR
|
Enable special treatment for lines beginning with \f(CW\*(C`d\*(C'\fR or \f(CW\*(C`D\*(C'\fR
|
in fixed form sources. If the \fB\-fd\-lines\-as\-code\fR option is
|
in fixed form sources. If the \fB\-fd\-lines\-as\-code\fR option is
|
given they are treated as if the first column contained a blank. If the
|
given they are treated as if the first column contained a blank. If the
|
\&\fB\-fd\-lines\-as\-comments\fR option is given, they are treated as
|
\&\fB\-fd\-lines\-as\-comments\fR option is given, they are treated as
|
comment lines.
|
comment lines.
|
.IP "\fB\-fdefault\-double\-8\fR" 4
|
.IP "\fB\-fdefault\-double\-8\fR" 4
|
.IX Item "-fdefault-double-8"
|
.IX Item "-fdefault-double-8"
|
Set the \f(CW\*(C`DOUBLE PRECISION\*(C'\fR type to an 8 byte wide type.
|
Set the \f(CW\*(C`DOUBLE PRECISION\*(C'\fR type to an 8 byte wide type.
|
.IP "\fB\-fdefault\-integer\-8\fR" 4
|
.IP "\fB\-fdefault\-integer\-8\fR" 4
|
.IX Item "-fdefault-integer-8"
|
.IX Item "-fdefault-integer-8"
|
Set the default integer and logical types to an 8 byte wide type.
|
Set the default integer and logical types to an 8 byte wide type.
|
Do nothing if this is already the default.
|
Do nothing if this is already the default.
|
.IP "\fB\-fdefault\-real\-8\fR" 4
|
.IP "\fB\-fdefault\-real\-8\fR" 4
|
.IX Item "-fdefault-real-8"
|
.IX Item "-fdefault-real-8"
|
Set the default real type to an 8 byte wide type.
|
Set the default real type to an 8 byte wide type.
|
Do nothing if this is already the default.
|
Do nothing if this is already the default.
|
.IP "\fB\-fdollar\-ok\fR" 4
|
.IP "\fB\-fdollar\-ok\fR" 4
|
.IX Item "-fdollar-ok"
|
.IX Item "-fdollar-ok"
|
Allow \fB$\fR as a valid character in a symbol name.
|
Allow \fB$\fR as a valid character in a symbol name.
|
.IP "\fB\-fno\-backslash\fR" 4
|
.IP "\fB\-fno\-backslash\fR" 4
|
.IX Item "-fno-backslash"
|
.IX Item "-fno-backslash"
|
Change the interpretation of backslashes in string literals from
|
Change the interpretation of backslashes in string literals from
|
\&\*(L"C\-style\*(R" escape characters to a single backslash character.
|
\&\*(L"C\-style\*(R" escape characters to a single backslash character.
|
.IP "\fB\-ffixed\-line\-length\-\fR\fIn\fR" 4
|
.IP "\fB\-ffixed\-line\-length\-\fR\fIn\fR" 4
|
.IX Item "-ffixed-line-length-n"
|
.IX Item "-ffixed-line-length-n"
|
Set column after which characters are ignored in typical fixed-form
|
Set column after which characters are ignored in typical fixed-form
|
lines in the source file, and through which spaces are assumed (as
|
lines in the source file, and through which spaces are assumed (as
|
if padded to that length) after the ends of short fixed-form lines.
|
if padded to that length) after the ends of short fixed-form lines.
|
.Sp
|
.Sp
|
Popular values for \fIn\fR include 72 (the
|
Popular values for \fIn\fR include 72 (the
|
standard and the default), 80 (card image), and 132 (corresponding
|
standard and the default), 80 (card image), and 132 (corresponding
|
to \*(L"extended\-source\*(R" options in some popular compilers).
|
to \*(L"extended\-source\*(R" options in some popular compilers).
|
\&\fIn\fR may also be \fBnone\fR, meaning that the entire line is meaningful
|
\&\fIn\fR may also be \fBnone\fR, meaning that the entire line is meaningful
|
and that continued character constants never have implicit spaces appended
|
and that continued character constants never have implicit spaces appended
|
to them to fill out the line.
|
to them to fill out the line.
|
\&\fB\-ffixed\-line\-length\-0\fR means the same thing as
|
\&\fB\-ffixed\-line\-length\-0\fR means the same thing as
|
\&\fB\-ffixed\-line\-length\-none\fR.
|
\&\fB\-ffixed\-line\-length\-none\fR.
|
.IP "\fB\-ffree\-line\-length\-\fR\fIn\fR" 4
|
.IP "\fB\-ffree\-line\-length\-\fR\fIn\fR" 4
|
.IX Item "-ffree-line-length-n"
|
.IX Item "-ffree-line-length-n"
|
Set column after which characters are ignored in typical free-form
|
Set column after which characters are ignored in typical free-form
|
lines in the source file. The default value is 132.
|
lines in the source file. The default value is 132.
|
\&\fIn\fR may be \fBnone\fR, meaning that the entire line is meaningful.
|
\&\fIn\fR may be \fBnone\fR, meaning that the entire line is meaningful.
|
\&\fB\-ffree\-line\-length\-0\fR means the same thing as
|
\&\fB\-ffree\-line\-length\-0\fR means the same thing as
|
\&\fB\-ffree\-line\-length\-none\fR.
|
\&\fB\-ffree\-line\-length\-none\fR.
|
.IP "\fB\-fmax\-identifier\-length=\fR\fIn\fR" 4
|
.IP "\fB\-fmax\-identifier\-length=\fR\fIn\fR" 4
|
.IX Item "-fmax-identifier-length=n"
|
.IX Item "-fmax-identifier-length=n"
|
Specify the maximum allowed identifier length. Typical values are
|
Specify the maximum allowed identifier length. Typical values are
|
31 (Fortran 95) and 63 (Fortran 2003).
|
31 (Fortran 95) and 63 (Fortran 2003).
|
.IP "\fB\-fimplicit\-none\fR" 4
|
.IP "\fB\-fimplicit\-none\fR" 4
|
.IX Item "-fimplicit-none"
|
.IX Item "-fimplicit-none"
|
Specify that no implicit typing is allowed, unless overridden by explicit
|
Specify that no implicit typing is allowed, unless overridden by explicit
|
\&\f(CW\*(C`IMPLICIT\*(C'\fR statements. This is the equivalent of adding
|
\&\f(CW\*(C`IMPLICIT\*(C'\fR statements. This is the equivalent of adding
|
\&\f(CW\*(C`implicit none\*(C'\fR to the start of every procedure.
|
\&\f(CW\*(C`implicit none\*(C'\fR to the start of every procedure.
|
.IP "\fB\-fcray\-pointer\fR" 4
|
.IP "\fB\-fcray\-pointer\fR" 4
|
.IX Item "-fcray-pointer"
|
.IX Item "-fcray-pointer"
|
Enable the Cray pointer extension, which provides C\-like pointer
|
Enable the Cray pointer extension, which provides C\-like pointer
|
functionality.
|
functionality.
|
.IP "\fB\-fopenmp\fR" 4
|
.IP "\fB\-fopenmp\fR" 4
|
.IX Item "-fopenmp"
|
.IX Item "-fopenmp"
|
Enable the OpenMP extensions. This includes OpenMP \f(CW\*(C`!$omp\*(C'\fR directives
|
Enable the OpenMP extensions. This includes OpenMP \f(CW\*(C`!$omp\*(C'\fR directives
|
in free form
|
in free form
|
and \f(CW\*(C`c$omp\*(C'\fR, \f(CW*$omp\fR and \f(CW\*(C`!$omp\*(C'\fR directives in fixed form,
|
and \f(CW\*(C`c$omp\*(C'\fR, \f(CW*$omp\fR and \f(CW\*(C`!$omp\*(C'\fR directives in fixed form,
|
\&\f(CW\*(C`!$\*(C'\fR conditional compilation sentinels in free form
|
\&\f(CW\*(C`!$\*(C'\fR conditional compilation sentinels in free form
|
and \f(CW\*(C`c$\*(C'\fR, \f(CW\*(C`*$\*(C'\fR and \f(CW\*(C`!$\*(C'\fR sentinels in fixed form,
|
and \f(CW\*(C`c$\*(C'\fR, \f(CW\*(C`*$\*(C'\fR and \f(CW\*(C`!$\*(C'\fR sentinels in fixed form,
|
and when linking arranges for the OpenMP runtime library to be linked
|
and when linking arranges for the OpenMP runtime library to be linked
|
in.
|
in.
|
.IP "\fB\-frange\-check\fR" 4
|
.IP "\fB\-frange\-check\fR" 4
|
.IX Item "-frange-check"
|
.IX Item "-frange-check"
|
Enable range checking on results of simplification of constant
|
Enable range checking on results of simplification of constant
|
expressions during compilation. For example, by default, \s-1GNU\s0 Fortran
|
expressions during compilation. For example, by default, \s-1GNU\s0 Fortran
|
will give an overflow error at compile time when simplifying \f(CW\*(C`a =
|
will give an overflow error at compile time when simplifying \f(CW\*(C`a =
|
EXP(1000)\*(C'\fR. With \fB\-fno\-range\-check\fR, no error will be given and
|
EXP(1000)\*(C'\fR. With \fB\-fno\-range\-check\fR, no error will be given and
|
the variable \f(CW\*(C`a\*(C'\fR will be assigned the value \f(CW\*(C`+Infinity\*(C'\fR.
|
the variable \f(CW\*(C`a\*(C'\fR will be assigned the value \f(CW\*(C`+Infinity\*(C'\fR.
|
Similarly, \f(CW\*(C`DATA i/Z'FFFFFFFF'/\*(C'\fR will result in an integer overflow
|
Similarly, \f(CW\*(C`DATA i/Z'FFFFFFFF'/\*(C'\fR will result in an integer overflow
|
on most systems, but with \fB\-fno\-range\-check\fR the value will
|
on most systems, but with \fB\-fno\-range\-check\fR the value will
|
\&\*(L"wrap around\*(R" and \f(CW\*(C`i\*(C'\fR will be initialized to \-1 instead.
|
\&\*(L"wrap around\*(R" and \f(CW\*(C`i\*(C'\fR will be initialized to \-1 instead.
|
.IP "\fB\-std=\fR\fIstd\fR" 4
|
.IP "\fB\-std=\fR\fIstd\fR" 4
|
.IX Item "-std=std"
|
.IX Item "-std=std"
|
Specify the standard to which the program is expected to conform, which
|
Specify the standard to which the program is expected to conform, which
|
may be one of \fBf95\fR, \fBf2003\fR, \fBgnu\fR, or \fBlegacy\fR.
|
may be one of \fBf95\fR, \fBf2003\fR, \fBgnu\fR, or \fBlegacy\fR.
|
The default value for \fIstd\fR is \fBgnu\fR, which specifies a
|
The default value for \fIstd\fR is \fBgnu\fR, which specifies a
|
superset of the Fortran 95 standard that includes all of the extensions
|
superset of the Fortran 95 standard that includes all of the extensions
|
supported by \s-1GNU\s0 Fortran, although warnings will be given for obsolete
|
supported by \s-1GNU\s0 Fortran, although warnings will be given for obsolete
|
extensions not recommended for use in new code. The \fBlegacy\fR value
|
extensions not recommended for use in new code. The \fBlegacy\fR value
|
is equivalent but without the warnings for obsolete extensions, and may
|
is equivalent but without the warnings for obsolete extensions, and may
|
be useful for old non-standard programs. The \fBf95\fR and
|
be useful for old non-standard programs. The \fBf95\fR and
|
\&\fBf2003\fR values specify strict conformance to the Fortran 95 and
|
\&\fBf2003\fR values specify strict conformance to the Fortran 95 and
|
Fortran 2003 standards, respectively; errors are given for all
|
Fortran 2003 standards, respectively; errors are given for all
|
extensions beyond the relevant language standard, and warnings are given
|
extensions beyond the relevant language standard, and warnings are given
|
for the Fortran 77 features that are permitted but obsolescent in later
|
for the Fortran 77 features that are permitted but obsolescent in later
|
standards.
|
standards.
|
.Sh "Options to request or suppress errors and warnings"
|
.Sh "Options to request or suppress errors and warnings"
|
.IX Subsection "Options to request or suppress errors and warnings"
|
.IX Subsection "Options to request or suppress errors and warnings"
|
Errors are diagnostic messages that report that the \s-1GNU\s0 Fortran compiler
|
Errors are diagnostic messages that report that the \s-1GNU\s0 Fortran compiler
|
cannot compile the relevant piece of source code. The compiler will
|
cannot compile the relevant piece of source code. The compiler will
|
continue to process the program in an attempt to report further errors
|
continue to process the program in an attempt to report further errors
|
to aid in debugging, but will not produce any compiled output.
|
to aid in debugging, but will not produce any compiled output.
|
.PP
|
.PP
|
Warnings are diagnostic messages that report constructions which
|
Warnings are diagnostic messages that report constructions which
|
are not inherently erroneous but which are risky or suggest there is
|
are not inherently erroneous but which are risky or suggest there is
|
likely to be a bug in the program. Unless \fB\-Werror\fR is specified,
|
likely to be a bug in the program. Unless \fB\-Werror\fR is specified,
|
they do not prevent compilation of the program.
|
they do not prevent compilation of the program.
|
.PP
|
.PP
|
You can request many specific warnings with options beginning \fB\-W\fR,
|
You can request many specific warnings with options beginning \fB\-W\fR,
|
for example \fB\-Wimplicit\fR to request warnings on implicit
|
for example \fB\-Wimplicit\fR to request warnings on implicit
|
declarations. Each of these specific warning options also has a
|
declarations. Each of these specific warning options also has a
|
negative form beginning \fB\-Wno\-\fR to turn off warnings;
|
negative form beginning \fB\-Wno\-\fR to turn off warnings;
|
for example, \fB\-Wno\-implicit\fR. This manual lists only one of the
|
for example, \fB\-Wno\-implicit\fR. This manual lists only one of the
|
two forms, whichever is not the default.
|
two forms, whichever is not the default.
|
.PP
|
.PP
|
These options control the amount and kinds of errors and warnings produced
|
These options control the amount and kinds of errors and warnings produced
|
by \s-1GNU\s0 Fortran:
|
by \s-1GNU\s0 Fortran:
|
.IP "\fB\-fmax\-errors\-\fR\fIn\fR" 4
|
.IP "\fB\-fmax\-errors\-\fR\fIn\fR" 4
|
.IX Item "-fmax-errors-n"
|
.IX Item "-fmax-errors-n"
|
Limits the maximum number of error messages to \fIn\fR, at which point
|
Limits the maximum number of error messages to \fIn\fR, at which point
|
\&\s-1GNU\s0 Fortran bails out rather than attempting to continue processing the
|
\&\s-1GNU\s0 Fortran bails out rather than attempting to continue processing the
|
source code. If \fIn\fR is 0, there is no limit on the number of error
|
source code. If \fIn\fR is 0, there is no limit on the number of error
|
messages produced.
|
messages produced.
|
.IP "\fB\-fsyntax\-only\fR" 4
|
.IP "\fB\-fsyntax\-only\fR" 4
|
.IX Item "-fsyntax-only"
|
.IX Item "-fsyntax-only"
|
Check the code for syntax errors, but don't do anything beyond that.
|
Check the code for syntax errors, but don't do anything beyond that.
|
.IP "\fB\-pedantic\fR" 4
|
.IP "\fB\-pedantic\fR" 4
|
.IX Item "-pedantic"
|
.IX Item "-pedantic"
|
Issue warnings for uses of extensions to Fortran 95.
|
Issue warnings for uses of extensions to Fortran 95.
|
\&\fB\-pedantic\fR also applies to C\-language constructs where they
|
\&\fB\-pedantic\fR also applies to C\-language constructs where they
|
occur in \s-1GNU\s0 Fortran source files, such as use of \fB\ee\fR in a
|
occur in \s-1GNU\s0 Fortran source files, such as use of \fB\ee\fR in a
|
character constant within a directive like \f(CW\*(C`#include\*(C'\fR.
|
character constant within a directive like \f(CW\*(C`#include\*(C'\fR.
|
.Sp
|
.Sp
|
Valid Fortran 95 programs should compile properly with or without
|
Valid Fortran 95 programs should compile properly with or without
|
this option.
|
this option.
|
However, without this option, certain \s-1GNU\s0 extensions and traditional
|
However, without this option, certain \s-1GNU\s0 extensions and traditional
|
Fortran features are supported as well.
|
Fortran features are supported as well.
|
With this option, many of them are rejected.
|
With this option, many of them are rejected.
|
.Sp
|
.Sp
|
Some users try to use \fB\-pedantic\fR to check programs for conformance.
|
Some users try to use \fB\-pedantic\fR to check programs for conformance.
|
They soon find that it does not do quite what they want\-\-\-it finds some
|
They soon find that it does not do quite what they want\-\-\-it finds some
|
nonstandard practices, but not all.
|
nonstandard practices, but not all.
|
However, improvements to \s-1GNU\s0 Fortran in this area are welcome.
|
However, improvements to \s-1GNU\s0 Fortran in this area are welcome.
|
.Sp
|
.Sp
|
This should be used in conjunction with \fB\-std=f95\fR or
|
This should be used in conjunction with \fB\-std=f95\fR or
|
\&\fB\-std=f2003\fR.
|
\&\fB\-std=f2003\fR.
|
.IP "\fB\-pedantic\-errors\fR" 4
|
.IP "\fB\-pedantic\-errors\fR" 4
|
.IX Item "-pedantic-errors"
|
.IX Item "-pedantic-errors"
|
Like \fB\-pedantic\fR, except that errors are produced rather than
|
Like \fB\-pedantic\fR, except that errors are produced rather than
|
warnings.
|
warnings.
|
.IP "\fB\-Wall\fR" 4
|
.IP "\fB\-Wall\fR" 4
|
.IX Item "-Wall"
|
.IX Item "-Wall"
|
Enables commonly used warning options pertaining to usage that
|
Enables commonly used warning options pertaining to usage that
|
we recommend avoiding and that we believe are easy to avoid.
|
we recommend avoiding and that we believe are easy to avoid.
|
This currently includes \fB\-Waliasing\fR,
|
This currently includes \fB\-Waliasing\fR,
|
\&\fB\-Wampersand\fR, \fB\-Wsurprising\fR, \fB\-Wnonstd\-intrinsics\fR,
|
\&\fB\-Wampersand\fR, \fB\-Wsurprising\fR, \fB\-Wnonstd\-intrinsics\fR,
|
\&\fB\-Wno\-tabs\fR, and \fB\-Wline\-truncation\fR.
|
\&\fB\-Wno\-tabs\fR, and \fB\-Wline\-truncation\fR.
|
.IP "\fB\-Waliasing\fR" 4
|
.IP "\fB\-Waliasing\fR" 4
|
.IX Item "-Waliasing"
|
.IX Item "-Waliasing"
|
Warn about possible aliasing of dummy arguments. Specifically, it warns
|
Warn about possible aliasing of dummy arguments. Specifically, it warns
|
if the same actual argument is associated with a dummy argument with
|
if the same actual argument is associated with a dummy argument with
|
\&\f(CW\*(C`INTENT(IN)\*(C'\fR and a dummy argument with \f(CW\*(C`INTENT(OUT)\*(C'\fR in a call
|
\&\f(CW\*(C`INTENT(IN)\*(C'\fR and a dummy argument with \f(CW\*(C`INTENT(OUT)\*(C'\fR in a call
|
with an explicit interface.
|
with an explicit interface.
|
.Sp
|
.Sp
|
The following example will trigger the warning.
|
The following example will trigger the warning.
|
.Sp
|
.Sp
|
.Vb 7
|
.Vb 7
|
\& interface
|
\& interface
|
\& subroutine bar(a,b)
|
\& subroutine bar(a,b)
|
\& integer, intent(in) :: a
|
\& integer, intent(in) :: a
|
\& integer, intent(out) :: b
|
\& integer, intent(out) :: b
|
\& end subroutine
|
\& end subroutine
|
\& end interface
|
\& end interface
|
\& integer :: a
|
\& integer :: a
|
.Ve
|
.Ve
|
.Sp
|
.Sp
|
.Vb 1
|
.Vb 1
|
\& call bar(a,a)
|
\& call bar(a,a)
|
.Ve
|
.Ve
|
.IP "\fB\-Wampersand\fR" 4
|
.IP "\fB\-Wampersand\fR" 4
|
.IX Item "-Wampersand"
|
.IX Item "-Wampersand"
|
Warn about missing ampersand in continued character constants. The warning is
|
Warn about missing ampersand in continued character constants. The warning is
|
given with \fB\-Wampersand\fR, \fB\-pedantic\fR, \fB\-std=f95\fR, and
|
given with \fB\-Wampersand\fR, \fB\-pedantic\fR, \fB\-std=f95\fR, and
|
\&\fB\-std=f2003\fR. Note: With no ampersand given in a continued character
|
\&\fB\-std=f2003\fR. Note: With no ampersand given in a continued character
|
constant, \s-1GNU\s0 Fortran assumes continuation at the first non\-comment,
|
constant, \s-1GNU\s0 Fortran assumes continuation at the first non\-comment,
|
non-whitespace character after the ampersand that initiated the continuation.
|
non-whitespace character after the ampersand that initiated the continuation.
|
.IP "\fB\-Wcharacter\-truncation\fR" 4
|
.IP "\fB\-Wcharacter\-truncation\fR" 4
|
.IX Item "-Wcharacter-truncation"
|
.IX Item "-Wcharacter-truncation"
|
Warn when a character assignment will truncate the assigned string.
|
Warn when a character assignment will truncate the assigned string.
|
.IP "\fB\-Wconversion\fR" 4
|
.IP "\fB\-Wconversion\fR" 4
|
.IX Item "-Wconversion"
|
.IX Item "-Wconversion"
|
Warn about implicit conversions between different types.
|
Warn about implicit conversions between different types.
|
.IP "\fB\-Wimplicit\-interface\fR" 4
|
.IP "\fB\-Wimplicit\-interface\fR" 4
|
.IX Item "-Wimplicit-interface"
|
.IX Item "-Wimplicit-interface"
|
Warn if a procedure is called without an explicit interface.
|
Warn if a procedure is called without an explicit interface.
|
Note this only checks that an explicit interface is present. It does not
|
Note this only checks that an explicit interface is present. It does not
|
check that the declared interfaces are consistent across program units.
|
check that the declared interfaces are consistent across program units.
|
.IP "\fB\-Wnonstd\-intrinsics\fR" 4
|
.IP "\fB\-Wnonstd\-intrinsics\fR" 4
|
.IX Item "-Wnonstd-intrinsics"
|
.IX Item "-Wnonstd-intrinsics"
|
Warn if the user tries to use an intrinsic that does not belong to the
|
Warn if the user tries to use an intrinsic that does not belong to the
|
standard the user has chosen via the \fB\-std\fR option.
|
standard the user has chosen via the \fB\-std\fR option.
|
.IP "\fB\-Wsurprising\fR" 4
|
.IP "\fB\-Wsurprising\fR" 4
|
.IX Item "-Wsurprising"
|
.IX Item "-Wsurprising"
|
Produce a warning when \*(L"suspicious\*(R" code constructs are encountered.
|
Produce a warning when \*(L"suspicious\*(R" code constructs are encountered.
|
While technically legal these usually indicate that an error has been made.
|
While technically legal these usually indicate that an error has been made.
|
.Sp
|
.Sp
|
This currently produces a warning under the following circumstances:
|
This currently produces a warning under the following circumstances:
|
.RS 4
|
.RS 4
|
.IP "*" 4
|
.IP "*" 4
|
An \s-1INTEGER\s0 \s-1SELECT\s0 construct has a \s-1CASE\s0 that can never be matched as its
|
An \s-1INTEGER\s0 \s-1SELECT\s0 construct has a \s-1CASE\s0 that can never be matched as its
|
lower value is greater than its upper value.
|
lower value is greater than its upper value.
|
.IP "*" 4
|
.IP "*" 4
|
A \s-1LOGICAL\s0 \s-1SELECT\s0 construct has three \s-1CASE\s0 statements.
|
A \s-1LOGICAL\s0 \s-1SELECT\s0 construct has three \s-1CASE\s0 statements.
|
.RE
|
.RE
|
.RS 4
|
.RS 4
|
.RE
|
.RE
|
.IP "\fB\-Wtabs\fR" 4
|
.IP "\fB\-Wtabs\fR" 4
|
.IX Item "-Wtabs"
|
.IX Item "-Wtabs"
|
By default, tabs are accepted as whitespace, but tabs are not members
|
By default, tabs are accepted as whitespace, but tabs are not members
|
of the Fortran Character Set. \fB\-Wno\-tabs\fR will cause a warning
|
of the Fortran Character Set. \fB\-Wno\-tabs\fR will cause a warning
|
to be issued if a tab is encountered. Note, \fB\-Wno\-tabs\fR is active
|
to be issued if a tab is encountered. Note, \fB\-Wno\-tabs\fR is active
|
for \fB\-pedantic\fR, \fB\-std=f95\fR, \fB\-std=f2003\fR, and
|
for \fB\-pedantic\fR, \fB\-std=f95\fR, \fB\-std=f2003\fR, and
|
\&\fB\-Wall\fR.
|
\&\fB\-Wall\fR.
|
.IP "\fB\-Wunderflow\fR" 4
|
.IP "\fB\-Wunderflow\fR" 4
|
.IX Item "-Wunderflow"
|
.IX Item "-Wunderflow"
|
Produce a warning when numerical constant expressions are
|
Produce a warning when numerical constant expressions are
|
encountered, which yield an \s-1UNDERFLOW\s0 during compilation.
|
encountered, which yield an \s-1UNDERFLOW\s0 during compilation.
|
.IP "\fB\-Werror\fR" 4
|
.IP "\fB\-Werror\fR" 4
|
.IX Item "-Werror"
|
.IX Item "-Werror"
|
Turns all warnings into errors.
|
Turns all warnings into errors.
|
.PP
|
.PP
|
Some of these have no effect when compiling programs written in Fortran.
|
Some of these have no effect when compiling programs written in Fortran.
|
.Sh "Options for debugging your program or \s-1GNU\s0 Fortran"
|
.Sh "Options for debugging your program or \s-1GNU\s0 Fortran"
|
.IX Subsection "Options for debugging your program or GNU Fortran"
|
.IX Subsection "Options for debugging your program or GNU Fortran"
|
\&\s-1GNU\s0 Fortran has various special options that are used for debugging
|
\&\s-1GNU\s0 Fortran has various special options that are used for debugging
|
either your program or the \s-1GNU\s0 Fortran compiler.
|
either your program or the \s-1GNU\s0 Fortran compiler.
|
.IP "\fB\-fdump\-parse\-tree\fR" 4
|
.IP "\fB\-fdump\-parse\-tree\fR" 4
|
.IX Item "-fdump-parse-tree"
|
.IX Item "-fdump-parse-tree"
|
Output the internal parse tree before starting code generation. Only
|
Output the internal parse tree before starting code generation. Only
|
really useful for debugging the \s-1GNU\s0 Fortran compiler itself.
|
really useful for debugging the \s-1GNU\s0 Fortran compiler itself.
|
.IP "\fB\-ffpe\-trap=\fR\fIlist\fR" 4
|
.IP "\fB\-ffpe\-trap=\fR\fIlist\fR" 4
|
.IX Item "-ffpe-trap=list"
|
.IX Item "-ffpe-trap=list"
|
Specify a list of \s-1IEEE\s0 exceptions when a Floating Point Exception
|
Specify a list of \s-1IEEE\s0 exceptions when a Floating Point Exception
|
(\s-1FPE\s0) should be raised. On most systems, this will result in a \s-1SIGFPE\s0
|
(\s-1FPE\s0) should be raised. On most systems, this will result in a \s-1SIGFPE\s0
|
signal being sent and the program being interrupted, producing a core
|
signal being sent and the program being interrupted, producing a core
|
file useful for debugging. \fIlist\fR is a (possibly empty) comma-separated
|
file useful for debugging. \fIlist\fR is a (possibly empty) comma-separated
|
list of the following \s-1IEEE\s0 exceptions: \fBinvalid\fR (invalid floating
|
list of the following \s-1IEEE\s0 exceptions: \fBinvalid\fR (invalid floating
|
point operation, such as \f(CW\*(C`SQRT(\-1.0)\*(C'\fR), \fBzero\fR (division by
|
point operation, such as \f(CW\*(C`SQRT(\-1.0)\*(C'\fR), \fBzero\fR (division by
|
zero), \fBoverflow\fR (overflow in a floating point operation),
|
zero), \fBoverflow\fR (overflow in a floating point operation),
|
\&\fBunderflow\fR (underflow in a floating point operation),
|
\&\fBunderflow\fR (underflow in a floating point operation),
|
\&\fBprecision\fR (loss of precision during operation) and \fBdenormal\fR
|
\&\fBprecision\fR (loss of precision during operation) and \fBdenormal\fR
|
(operation produced a denormal value).
|
(operation produced a denormal value).
|
.Sh "Options for directory search"
|
.Sh "Options for directory search"
|
.IX Subsection "Options for directory search"
|
.IX Subsection "Options for directory search"
|
These options affect how \s-1GNU\s0 Fortran searches
|
These options affect how \s-1GNU\s0 Fortran searches
|
for files specified by the \f(CW\*(C`INCLUDE\*(C'\fR directive and where it searches
|
for files specified by the \f(CW\*(C`INCLUDE\*(C'\fR directive and where it searches
|
for previously compiled modules.
|
for previously compiled modules.
|
.PP
|
.PP
|
It also affects the search paths used by \fBcpp\fR when used to preprocess
|
It also affects the search paths used by \fBcpp\fR when used to preprocess
|
Fortran source.
|
Fortran source.
|
.IP "\fB\-I\fR\fIdir\fR" 4
|
.IP "\fB\-I\fR\fIdir\fR" 4
|
.IX Item "-Idir"
|
.IX Item "-Idir"
|
These affect interpretation of the \f(CW\*(C`INCLUDE\*(C'\fR directive
|
These affect interpretation of the \f(CW\*(C`INCLUDE\*(C'\fR directive
|
(as well as of the \f(CW\*(C`#include\*(C'\fR directive of the \fBcpp\fR
|
(as well as of the \f(CW\*(C`#include\*(C'\fR directive of the \fBcpp\fR
|
preprocessor).
|
preprocessor).
|
.Sp
|
.Sp
|
Also note that the general behavior of \fB\-I\fR and
|
Also note that the general behavior of \fB\-I\fR and
|
\&\f(CW\*(C`INCLUDE\*(C'\fR is pretty much the same as of \fB\-I\fR with
|
\&\f(CW\*(C`INCLUDE\*(C'\fR is pretty much the same as of \fB\-I\fR with
|
\&\f(CW\*(C`#include\*(C'\fR in the \fBcpp\fR preprocessor, with regard to
|
\&\f(CW\*(C`#include\*(C'\fR in the \fBcpp\fR preprocessor, with regard to
|
looking for \fIheader.gcc\fR files and other such things.
|
looking for \fIheader.gcc\fR files and other such things.
|
.Sp
|
.Sp
|
This path is also used to search for \fI.mod\fR files when previously
|
This path is also used to search for \fI.mod\fR files when previously
|
compiled modules are required by a \f(CW\*(C`USE\*(C'\fR statement.
|
compiled modules are required by a \f(CW\*(C`USE\*(C'\fR statement.
|
.IP "\fB\-M\fR\fIdir\fR" 4
|
.IP "\fB\-M\fR\fIdir\fR" 4
|
.IX Item "-Mdir"
|
.IX Item "-Mdir"
|
.PD 0
|
.PD 0
|
.IP "\fB\-J\fR\fIdir\fR" 4
|
.IP "\fB\-J\fR\fIdir\fR" 4
|
.IX Item "-Jdir"
|
.IX Item "-Jdir"
|
.PD
|
.PD
|
This option specifies where to put \fI.mod\fR files for compiled modules.
|
This option specifies where to put \fI.mod\fR files for compiled modules.
|
It is also added to the list of directories to searched by an \f(CW\*(C`USE\*(C'\fR
|
It is also added to the list of directories to searched by an \f(CW\*(C`USE\*(C'\fR
|
statement.
|
statement.
|
.Sp
|
.Sp
|
The default is the current directory.
|
The default is the current directory.
|
.Sp
|
.Sp
|
\&\fB\-J\fR is an alias for \fB\-M\fR to avoid conflicts with existing
|
\&\fB\-J\fR is an alias for \fB\-M\fR to avoid conflicts with existing
|
\&\s-1GCC\s0 options.
|
\&\s-1GCC\s0 options.
|
.Sh "Influencing runtime behavior"
|
.Sh "Influencing runtime behavior"
|
.IX Subsection "Influencing runtime behavior"
|
.IX Subsection "Influencing runtime behavior"
|
These options affect the runtime behavior of programs compiled with \s-1GNU\s0 Fortran.
|
These options affect the runtime behavior of programs compiled with \s-1GNU\s0 Fortran.
|
.IP "\fB\-fconvert=\fR\fIconversion\fR" 4
|
.IP "\fB\-fconvert=\fR\fIconversion\fR" 4
|
.IX Item "-fconvert=conversion"
|
.IX Item "-fconvert=conversion"
|
Specify the representation of data for unformatted files. Valid
|
Specify the representation of data for unformatted files. Valid
|
values for conversion are: \fBnative\fR, the default; \fBswap\fR,
|
values for conversion are: \fBnative\fR, the default; \fBswap\fR,
|
swap between big\- and little\-endian; \fBbig-endian\fR, use big-endian
|
swap between big\- and little\-endian; \fBbig-endian\fR, use big-endian
|
representation for unformatted files; \fBlittle-endian\fR, use little-endian
|
representation for unformatted files; \fBlittle-endian\fR, use little-endian
|
representation for unformatted files.
|
representation for unformatted files.
|
.Sp
|
.Sp
|
\&\fIThis option has an effect only when used in the main program.
|
\&\fIThis option has an effect only when used in the main program.
|
The \f(CI\*(C`CONVERT\*(C'\fI specifier and the \s-1GFORTRAN_CONVERT_UNIT\s0 environment
|
The \f(CI\*(C`CONVERT\*(C'\fI specifier and the \s-1GFORTRAN_CONVERT_UNIT\s0 environment
|
variable override the default specified by \f(BI\-fconvert\fI.\fR
|
variable override the default specified by \f(BI\-fconvert\fI.\fR
|
.IP "\fB\-frecord\-marker=\fR\fIlength\fR" 4
|
.IP "\fB\-frecord\-marker=\fR\fIlength\fR" 4
|
.IX Item "-frecord-marker=length"
|
.IX Item "-frecord-marker=length"
|
Specify the length of record markers for unformatted files.
|
Specify the length of record markers for unformatted files.
|
Valid values for \fIlength\fR are 4 and 8. Default is 4.
|
Valid values for \fIlength\fR are 4 and 8. Default is 4.
|
\&\fIThis is different from previous versions of\fR \fBgfortran\fR,
|
\&\fIThis is different from previous versions of\fR \fBgfortran\fR,
|
which specified a default record marker length of 8 on most
|
which specified a default record marker length of 8 on most
|
systems. If you want to read or write files compatible
|
systems. If you want to read or write files compatible
|
with earlier versions of \fBgfortran\fR, use \fB\-frecord\-marker=8\fR.
|
with earlier versions of \fBgfortran\fR, use \fB\-frecord\-marker=8\fR.
|
.IP "\fB\-fmax\-subrecord\-length=\fR\fIlength\fR" 4
|
.IP "\fB\-fmax\-subrecord\-length=\fR\fIlength\fR" 4
|
.IX Item "-fmax-subrecord-length=length"
|
.IX Item "-fmax-subrecord-length=length"
|
Specify the maximum length for a subrecord. The maximum permitted
|
Specify the maximum length for a subrecord. The maximum permitted
|
value for length is 2147483639, which is also the default. Only
|
value for length is 2147483639, which is also the default. Only
|
really useful for use by the gfortran testsuite.
|
really useful for use by the gfortran testsuite.
|
.Sh "Options for code generation conventions"
|
.Sh "Options for code generation conventions"
|
.IX Subsection "Options for code generation conventions"
|
.IX Subsection "Options for code generation conventions"
|
These machine-independent options control the interface conventions
|
These machine-independent options control the interface conventions
|
used in code generation.
|
used in code generation.
|
.PP
|
.PP
|
Most of them have both positive and negative forms; the negative form
|
Most of them have both positive and negative forms; the negative form
|
of \fB\-ffoo\fR would be \fB\-fno\-foo\fR. In the table below, only
|
of \fB\-ffoo\fR would be \fB\-fno\-foo\fR. In the table below, only
|
one of the forms is listed\-\-\-the one which is not the default. You
|
one of the forms is listed\-\-\-the one which is not the default. You
|
can figure out the other form by either removing \fBno\-\fR or adding
|
can figure out the other form by either removing \fBno\-\fR or adding
|
it.
|
it.
|
.IP "\fB\-fno\-automatic\fR" 4
|
.IP "\fB\-fno\-automatic\fR" 4
|
.IX Item "-fno-automatic"
|
.IX Item "-fno-automatic"
|
Treat each program unit as if the \f(CW\*(C`SAVE\*(C'\fR statement was specified for
|
Treat each program unit as if the \f(CW\*(C`SAVE\*(C'\fR statement was specified for
|
every local variable and array referenced in it. Does not affect common
|
every local variable and array referenced in it. Does not affect common
|
blocks. (Some Fortran compilers provide this option under the name
|
blocks. (Some Fortran compilers provide this option under the name
|
\&\fB\-static\fR.)
|
\&\fB\-static\fR.)
|
.IP "\fB\-ff2c\fR" 4
|
.IP "\fB\-ff2c\fR" 4
|
.IX Item "-ff2c"
|
.IX Item "-ff2c"
|
Generate code designed to be compatible with code generated
|
Generate code designed to be compatible with code generated
|
by \fBg77\fR and \fBf2c\fR.
|
by \fBg77\fR and \fBf2c\fR.
|
.Sp
|
.Sp
|
The calling conventions used by \fBg77\fR (originally implemented
|
The calling conventions used by \fBg77\fR (originally implemented
|
in \fBf2c\fR) require functions that return type
|
in \fBf2c\fR) require functions that return type
|
default \f(CW\*(C`REAL\*(C'\fR to actually return the C type \f(CW\*(C`double\*(C'\fR, and
|
default \f(CW\*(C`REAL\*(C'\fR to actually return the C type \f(CW\*(C`double\*(C'\fR, and
|
functions that return type \f(CW\*(C`COMPLEX\*(C'\fR to return the values via an
|
functions that return type \f(CW\*(C`COMPLEX\*(C'\fR to return the values via an
|
extra argument in the calling sequence that points to where to
|
extra argument in the calling sequence that points to where to
|
store the return value. Under the default \s-1GNU\s0 calling conventions, such
|
store the return value. Under the default \s-1GNU\s0 calling conventions, such
|
functions simply return their results as they would in \s-1GNU\s0
|
functions simply return their results as they would in \s-1GNU\s0
|
C\-\-\-default \f(CW\*(C`REAL\*(C'\fR functions return the C type \f(CW\*(C`float\*(C'\fR, and
|
C\-\-\-default \f(CW\*(C`REAL\*(C'\fR functions return the C type \f(CW\*(C`float\*(C'\fR, and
|
\&\f(CW\*(C`COMPLEX\*(C'\fR functions return the \s-1GNU\s0 C type \f(CW\*(C`complex\*(C'\fR.
|
\&\f(CW\*(C`COMPLEX\*(C'\fR functions return the \s-1GNU\s0 C type \f(CW\*(C`complex\*(C'\fR.
|
Additionally, this option implies the \fB\-fsecond\-underscore\fR
|
Additionally, this option implies the \fB\-fsecond\-underscore\fR
|
option, unless \fB\-fno\-second\-underscore\fR is explicitly requested.
|
option, unless \fB\-fno\-second\-underscore\fR is explicitly requested.
|
.Sp
|
.Sp
|
This does not affect the generation of code that interfaces with
|
This does not affect the generation of code that interfaces with
|
the \fBlibgfortran\fR library.
|
the \fBlibgfortran\fR library.
|
.Sp
|
.Sp
|
\&\fICaution:\fR It is not a good idea to mix Fortran code compiled with
|
\&\fICaution:\fR It is not a good idea to mix Fortran code compiled with
|
\&\fB\-ff2c\fR with code compiled with the default \fB\-fno\-f2c\fR
|
\&\fB\-ff2c\fR with code compiled with the default \fB\-fno\-f2c\fR
|
calling conventions as, calling \f(CW\*(C`COMPLEX\*(C'\fR or default \f(CW\*(C`REAL\*(C'\fR
|
calling conventions as, calling \f(CW\*(C`COMPLEX\*(C'\fR or default \f(CW\*(C`REAL\*(C'\fR
|
functions between program parts which were compiled with different
|
functions between program parts which were compiled with different
|
calling conventions will break at execution time.
|
calling conventions will break at execution time.
|
.Sp
|
.Sp
|
\&\fICaution:\fR This will break code which passes intrinsic functions
|
\&\fICaution:\fR This will break code which passes intrinsic functions
|
of type default \f(CW\*(C`REAL\*(C'\fR or \f(CW\*(C`COMPLEX\*(C'\fR as actual arguments, as
|
of type default \f(CW\*(C`REAL\*(C'\fR or \f(CW\*(C`COMPLEX\*(C'\fR as actual arguments, as
|
the library implementations use the \fB\-fno\-f2c\fR calling conventions.
|
the library implementations use the \fB\-fno\-f2c\fR calling conventions.
|
.IP "\fB\-fno\-underscoring\fR" 4
|
.IP "\fB\-fno\-underscoring\fR" 4
|
.IX Item "-fno-underscoring"
|
.IX Item "-fno-underscoring"
|
Do not transform names of entities specified in the Fortran
|
Do not transform names of entities specified in the Fortran
|
source file by appending underscores to them.
|
source file by appending underscores to them.
|
.Sp
|
.Sp
|
With \fB\-funderscoring\fR in effect, \s-1GNU\s0 Fortran appends one
|
With \fB\-funderscoring\fR in effect, \s-1GNU\s0 Fortran appends one
|
underscore to external names with no underscores. This is done to ensure
|
underscore to external names with no underscores. This is done to ensure
|
compatibility with code produced by many \s-1UNIX\s0 Fortran compilers.
|
compatibility with code produced by many \s-1UNIX\s0 Fortran compilers.
|
.Sp
|
.Sp
|
\&\fICaution\fR: The default behavior of \s-1GNU\s0 Fortran is
|
\&\fICaution\fR: The default behavior of \s-1GNU\s0 Fortran is
|
incompatible with \fBf2c\fR and \fBg77\fR, please use the
|
incompatible with \fBf2c\fR and \fBg77\fR, please use the
|
\&\fB\-ff2c\fR option if you want object files compiled with
|
\&\fB\-ff2c\fR option if you want object files compiled with
|
\&\s-1GNU\s0 Fortran to be compatible with object code created with these
|
\&\s-1GNU\s0 Fortran to be compatible with object code created with these
|
tools.
|
tools.
|
.Sp
|
.Sp
|
Use of \fB\-fno\-underscoring\fR is not recommended unless you are
|
Use of \fB\-fno\-underscoring\fR is not recommended unless you are
|
experimenting with issues such as integration of \s-1GNU\s0 Fortran into
|
experimenting with issues such as integration of \s-1GNU\s0 Fortran into
|
existing system environments (vis\-a\-vis existing libraries, tools, and
|
existing system environments (vis\-a\-vis existing libraries, tools, and
|
so on).
|
so on).
|
.Sp
|
.Sp
|
For example, with \fB\-funderscoring\fR, and assuming other defaults like
|
For example, with \fB\-funderscoring\fR, and assuming other defaults like
|
\&\fB\-fcase\-lower\fR and that \f(CW\*(C`j()\*(C'\fR and \f(CW\*(C`max_count()\*(C'\fR are
|
\&\fB\-fcase\-lower\fR and that \f(CW\*(C`j()\*(C'\fR and \f(CW\*(C`max_count()\*(C'\fR are
|
external functions while \f(CW\*(C`my_var\*(C'\fR and \f(CW\*(C`lvar\*(C'\fR are local variables,
|
external functions while \f(CW\*(C`my_var\*(C'\fR and \f(CW\*(C`lvar\*(C'\fR are local variables,
|
a statement like
|
a statement like
|
.Sp
|
.Sp
|
.Vb 1
|
.Vb 1
|
\& I = J() + MAX_COUNT (MY_VAR, LVAR)
|
\& I = J() + MAX_COUNT (MY_VAR, LVAR)
|
.Ve
|
.Ve
|
.Sp
|
.Sp
|
is implemented as something akin to:
|
is implemented as something akin to:
|
.Sp
|
.Sp
|
.Vb 1
|
.Vb 1
|
\& i = j_() + max_count__(&my_var__, &lvar);
|
\& i = j_() + max_count__(&my_var__, &lvar);
|
.Ve
|
.Ve
|
.Sp
|
.Sp
|
With \fB\-fno\-underscoring\fR, the same statement is implemented as:
|
With \fB\-fno\-underscoring\fR, the same statement is implemented as:
|
.Sp
|
.Sp
|
.Vb 1
|
.Vb 1
|
\& i = j() + max_count(&my_var, &lvar);
|
\& i = j() + max_count(&my_var, &lvar);
|
.Ve
|
.Ve
|
.Sp
|
.Sp
|
Use of \fB\-fno\-underscoring\fR allows direct specification of
|
Use of \fB\-fno\-underscoring\fR allows direct specification of
|
user-defined names while debugging and when interfacing \s-1GNU\s0 Fortran
|
user-defined names while debugging and when interfacing \s-1GNU\s0 Fortran
|
code with other languages.
|
code with other languages.
|
.Sp
|
.Sp
|
Note that just because the names match does \fInot\fR mean that the
|
Note that just because the names match does \fInot\fR mean that the
|
interface implemented by \s-1GNU\s0 Fortran for an external name matches the
|
interface implemented by \s-1GNU\s0 Fortran for an external name matches the
|
interface implemented by some other language for that same name.
|
interface implemented by some other language for that same name.
|
That is, getting code produced by \s-1GNU\s0 Fortran to link to code produced
|
That is, getting code produced by \s-1GNU\s0 Fortran to link to code produced
|
by some other compiler using this or any other method can be only a
|
by some other compiler using this or any other method can be only a
|
small part of the overall solution\-\-\-getting the code generated by
|
small part of the overall solution\-\-\-getting the code generated by
|
both compilers to agree on issues other than naming can require
|
both compilers to agree on issues other than naming can require
|
significant effort, and, unlike naming disagreements, linkers normally
|
significant effort, and, unlike naming disagreements, linkers normally
|
cannot detect disagreements in these other areas.
|
cannot detect disagreements in these other areas.
|
.Sp
|
.Sp
|
Also, note that with \fB\-fno\-underscoring\fR, the lack of appended
|
Also, note that with \fB\-fno\-underscoring\fR, the lack of appended
|
underscores introduces the very real possibility that a user-defined
|
underscores introduces the very real possibility that a user-defined
|
external name will conflict with a name in a system library, which
|
external name will conflict with a name in a system library, which
|
could make finding unresolved-reference bugs quite difficult in some
|
could make finding unresolved-reference bugs quite difficult in some
|
cases\-\-\-they might occur at program run time, and show up only as
|
cases\-\-\-they might occur at program run time, and show up only as
|
buggy behavior at run time.
|
buggy behavior at run time.
|
.Sp
|
.Sp
|
In future versions of \s-1GNU\s0 Fortran we hope to improve naming and linking
|
In future versions of \s-1GNU\s0 Fortran we hope to improve naming and linking
|
issues so that debugging always involves using the names as they appear
|
issues so that debugging always involves using the names as they appear
|
in the source, even if the names as seen by the linker are mangled to
|
in the source, even if the names as seen by the linker are mangled to
|
prevent accidental linking between procedures with incompatible
|
prevent accidental linking between procedures with incompatible
|
interfaces.
|
interfaces.
|
.IP "\fB\-fsecond\-underscore\fR" 4
|
.IP "\fB\-fsecond\-underscore\fR" 4
|
.IX Item "-fsecond-underscore"
|
.IX Item "-fsecond-underscore"
|
By default, \s-1GNU\s0 Fortran appends an underscore to external
|
By default, \s-1GNU\s0 Fortran appends an underscore to external
|
names. If this option is used \s-1GNU\s0 Fortran appends two
|
names. If this option is used \s-1GNU\s0 Fortran appends two
|
underscores to names with underscores and one underscore to external names
|
underscores to names with underscores and one underscore to external names
|
with no underscores. \s-1GNU\s0 Fortran also appends two underscores to
|
with no underscores. \s-1GNU\s0 Fortran also appends two underscores to
|
internal names with underscores to avoid naming collisions with external
|
internal names with underscores to avoid naming collisions with external
|
names.
|
names.
|
.Sp
|
.Sp
|
This option has no effect if \fB\-fno\-underscoring\fR is
|
This option has no effect if \fB\-fno\-underscoring\fR is
|
in effect. It is implied by the \fB\-ff2c\fR option.
|
in effect. It is implied by the \fB\-ff2c\fR option.
|
.Sp
|
.Sp
|
Otherwise, with this option, an external name such as \f(CW\*(C`MAX_COUNT\*(C'\fR
|
Otherwise, with this option, an external name such as \f(CW\*(C`MAX_COUNT\*(C'\fR
|
is implemented as a reference to the link-time external symbol
|
is implemented as a reference to the link-time external symbol
|
\&\f(CW\*(C`max_count_\|_\*(C'\fR, instead of \f(CW\*(C`max_count_\*(C'\fR. This is required
|
\&\f(CW\*(C`max_count_\|_\*(C'\fR, instead of \f(CW\*(C`max_count_\*(C'\fR. This is required
|
for compatibility with \fBg77\fR and \fBf2c\fR, and is implied
|
for compatibility with \fBg77\fR and \fBf2c\fR, and is implied
|
by use of the \fB\-ff2c\fR option.
|
by use of the \fB\-ff2c\fR option.
|
.IP "\fB\-fbounds\-check\fR" 4
|
.IP "\fB\-fbounds\-check\fR" 4
|
.IX Item "-fbounds-check"
|
.IX Item "-fbounds-check"
|
Enable generation of run-time checks for array subscripts
|
Enable generation of run-time checks for array subscripts
|
and against the declared minimum and maximum values. It also
|
and against the declared minimum and maximum values. It also
|
checks array indices for assumed and deferred
|
checks array indices for assumed and deferred
|
shape arrays against the actual allocated bounds.
|
shape arrays against the actual allocated bounds.
|
.Sp
|
.Sp
|
In the future this may also include other forms of checking, e.g., checking
|
In the future this may also include other forms of checking, e.g., checking
|
substring references.
|
substring references.
|
.IP "\fB\-fmax\-stack\-var\-size=\fR\fIn\fR" 4
|
.IP "\fB\-fmax\-stack\-var\-size=\fR\fIn\fR" 4
|
.IX Item "-fmax-stack-var-size=n"
|
.IX Item "-fmax-stack-var-size=n"
|
This option specifies the size in bytes of the largest array that will be put
|
This option specifies the size in bytes of the largest array that will be put
|
on the stack.
|
on the stack.
|
.Sp
|
.Sp
|
This option currently only affects local arrays declared with constant
|
This option currently only affects local arrays declared with constant
|
bounds, and may not apply to all character variables.
|
bounds, and may not apply to all character variables.
|
Future versions of \s-1GNU\s0 Fortran may improve this behavior.
|
Future versions of \s-1GNU\s0 Fortran may improve this behavior.
|
.Sp
|
.Sp
|
The default value for \fIn\fR is 32768.
|
The default value for \fIn\fR is 32768.
|
.IP "\fB\-fpack\-derived\fR" 4
|
.IP "\fB\-fpack\-derived\fR" 4
|
.IX Item "-fpack-derived"
|
.IX Item "-fpack-derived"
|
This option tells \s-1GNU\s0 Fortran to pack derived type members as closely as
|
This option tells \s-1GNU\s0 Fortran to pack derived type members as closely as
|
possible. Code compiled with this option is likely to be incompatible
|
possible. Code compiled with this option is likely to be incompatible
|
with code compiled without this option, and may execute slower.
|
with code compiled without this option, and may execute slower.
|
.IP "\fB\-frepack\-arrays\fR" 4
|
.IP "\fB\-frepack\-arrays\fR" 4
|
.IX Item "-frepack-arrays"
|
.IX Item "-frepack-arrays"
|
In some circumstances \s-1GNU\s0 Fortran may pass assumed shape array
|
In some circumstances \s-1GNU\s0 Fortran may pass assumed shape array
|
sections via a descriptor describing a noncontiguous area of memory.
|
sections via a descriptor describing a noncontiguous area of memory.
|
This option adds code to the function prologue to repack the data into
|
This option adds code to the function prologue to repack the data into
|
a contiguous block at runtime.
|
a contiguous block at runtime.
|
.Sp
|
.Sp
|
This should result in faster accesses to the array. However it can introduce
|
This should result in faster accesses to the array. However it can introduce
|
significant overhead to the function call, especially when the passed data
|
significant overhead to the function call, especially when the passed data
|
is noncontiguous.
|
is noncontiguous.
|
.IP "\fB\-fshort\-enums\fR" 4
|
.IP "\fB\-fshort\-enums\fR" 4
|
.IX Item "-fshort-enums"
|
.IX Item "-fshort-enums"
|
This option is provided for interoperability with C code that was
|
This option is provided for interoperability with C code that was
|
compiled with the \fB\-fshort\-enums\fR option. It will make
|
compiled with the \fB\-fshort\-enums\fR option. It will make
|
\&\s-1GNU\s0 Fortran choose the smallest \f(CW\*(C`INTEGER\*(C'\fR kind a given
|
\&\s-1GNU\s0 Fortran choose the smallest \f(CW\*(C`INTEGER\*(C'\fR kind a given
|
enumerator set will fit in, and give all its enumerators this kind.
|
enumerator set will fit in, and give all its enumerators this kind.
|
.SH "ENVIRONMENT"
|
.SH "ENVIRONMENT"
|
.IX Header "ENVIRONMENT"
|
.IX Header "ENVIRONMENT"
|
The \fBgfortran\fR compiler currently does not make use of any environment
|
The \fBgfortran\fR compiler currently does not make use of any environment
|
variables to control its operation above and beyond those
|
variables to control its operation above and beyond those
|
that affect the operation of \fBgcc\fR.
|
that affect the operation of \fBgcc\fR.
|
.SH "BUGS"
|
.SH "BUGS"
|
.IX Header "BUGS"
|
.IX Header "BUGS"
|
For instructions on reporting bugs, see
|
For instructions on reporting bugs, see
|
<\fBhttp://gcc.gnu.org/bugs.html\fR>.
|
<\fBhttp://gcc.gnu.org/bugs.html\fR>.
|
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
.IX Header "SEE ALSO"
|
.IX Header "SEE ALSO"
|
\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7),
|
\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7),
|
\&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIadb\fR\|(1), \fIdbx\fR\|(1), \fIsdb\fR\|(1)
|
\&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIadb\fR\|(1), \fIdbx\fR\|(1), \fIsdb\fR\|(1)
|
and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIgfortran\fR, \fIas\fR,
|
and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIgfortran\fR, \fIas\fR,
|
\&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
|
\&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
|
.SH "AUTHOR"
|
.SH "AUTHOR"
|
.IX Header "AUTHOR"
|
.IX Header "AUTHOR"
|
See the Info entry for \fBgfortran\fR for contributors to \s-1GCC\s0 and
|
See the Info entry for \fBgfortran\fR for contributors to \s-1GCC\s0 and
|
\&\s-1GNU\s0 Fortran.
|
\&\s-1GNU\s0 Fortran.
|
.SH "COPYRIGHT"
|
.SH "COPYRIGHT"
|
.IX Header "COPYRIGHT"
|
.IX Header "COPYRIGHT"
|
Copyright (c) 2004, 2005, 2006, 2007
|
Copyright (c) 2004, 2005, 2006, 2007
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
.PP
|
.PP
|
Permission is granted to copy, distribute and/or modify this document
|
Permission is granted to copy, distribute and/or modify this document
|
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.2 or
|
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.2 or
|
any later version published by the Free Software Foundation; with the
|
any later version published by the Free Software Foundation; with the
|
Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
|
Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
|
Free Software\*(R", the Front-Cover texts being (a) (see below), and with
|
Free Software\*(R", the Front-Cover texts being (a) (see below), and with
|
the Back-Cover Texts being (b) (see below). A copy of the license is
|
the Back-Cover Texts being (b) (see below). A copy of the license is
|
included in the \fIgfdl\fR\|(7) man page.
|
included in the \fIgfdl\fR\|(7) man page.
|
.PP
|
.PP
|
(a) The \s-1FSF\s0's Front-Cover Text is:
|
(a) The \s-1FSF\s0's Front-Cover Text is:
|
.PP
|
.PP
|
.Vb 1
|
.Vb 1
|
\& A GNU Manual
|
\& A GNU Manual
|
.Ve
|
.Ve
|
.PP
|
.PP
|
(b) The \s-1FSF\s0's Back-Cover Text is:
|
(b) The \s-1FSF\s0's Back-Cover Text is:
|
.PP
|
.PP
|
.Vb 3
|
.Vb 3
|
\& You have freedom to copy and modify this GNU Manual, like GNU
|
\& You have freedom to copy and modify this GNU Manual, like GNU
|
\& software. Copies published by the Free Software Foundation raise
|
\& software. Copies published by the Free Software Foundation raise
|
\& funds for GNU development.
|
\& funds for GNU development.
|
.Ve
|
.Ve
|
|
|