iii
Table of Contents
1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 About GNU Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 GNU Fortran and GCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Preprocessing and conditional compilation . . . . . . . . . . . . . . . . . . . . . . 2
1.4 GNU Fortran and G77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Project Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6.1 Varying Length Character Strings . . . . . . . . . . . . . . . . . . . . . . . . . 4
Part I: Invoking GNU Fortran . . . . . . . . . . . . . . . . . . . . 5
2 GNU Fortran Command Options . . . . . . . . . . . . . 7
2.1 Option summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Options controlling Fortran dialect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Enable and customize preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Options to request or suppress errors and warnings . . . . . . . . . . . . 14
2.5 Options for debugging your program or GNU Fortran. . . . . . . . . . 18
2.6 Options for directory search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.7 Influencing the linking step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8 Influencing runtime behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9 Options for code generation conventions . . . . . . . . . . . . . . . . . . . . . . . 20
2.10 Environment variables affecting gfortran . . . . . . . . . . . . . . . . . . . . 26
3 Runtime: Influencing runtime behavior with
environment variables. . . . . . . . . . . . . . . . . . . . . . . . 27
3.1 TMPDIR—Directory for scratch files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 GFORTRAN_STDIN_UNIT—Unit number for standard input . . . . . . 27
3.3 GFORTRAN_STDOUT_UNIT—Unit number for standard output . . . . 27
3.4 GFORTRAN_STDERR_UNIT—Unit number for standard error. . . . . . 27
3.5 GFORTRAN_UNBUFFERED_ALL—Do not buffer I/O on all units. . . . 27
3.6 GFORTRAN_UNBUFFERED_PRECONNECTED—Do not buffer I/O on
preconnected units. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.7 GFORTRAN_SHOW_LOCUS—Show location for runtime errors . . . . . . 27
3.8 GFORTRAN_OPTIONAL_PLUS—Print leading + where permitted . . 28
3.9 GFORTRAN_DEFAULT_RECL—Default record length for new files . . 28
3.10 GFORTRAN_LIST_SEPARATOR—Separator for list output . . . . . . . . 28
3.11 GFORTRAN_CONVERT_UNIT—Set endianness for unformatted I/O
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.12 GFORTRAN_ERROR_BACKTRACE—Show backtrace on run-time errors
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Part II: Language Reference . . . . . . . . . . . . . . . . . . . . . 31