The GNU Fortran compiler is the successor to
Fortran 77 front end included in GCC prior to version 4 (released in
2005). While it is backward-compatible with most
extensions and command-line options,
gfortran is a completely new
implemention designed to support more modern dialects of Fortran.
GNU Fortran implements the Fortran 77, 90 and 95 standards
completely, most of the Fortran 2003 and 2008 standards, and some
features from the 2018 standard. It also implements several extensions
including OpenMP and OpenACC support for parallel programming.
The GNU Fortran compiler passes the NIST Fortran 77 Test Suite, and produces acceptable results on the LAPACK Test Suite. It also provides respectable performance on the Polyhedron Fortran compiler benchmarks and the Livermore Fortran Kernels test. It has been used to compile a number of large real-world programs, including the HARMONIE and HIRLAM weather forecasting code and the Tonto quantum chemistry package; see https://gcc.gnu.org/wiki/GfortranApps for an extended list.
GNU Fortran provides the following functionality:
The compiler also attempts to diagnose cases where your program contains a correct usage of the language, but instructs the computer to do something questionable. This kind of diagnostic message is called a warning message.
The GNU Fortran compiler consists of several components:
gcccommand (which also might be installed as the system’s
cccommand) that also understands and accepts Fortran source code. The
gcccommand is the driver program for all the languages in the GNU Compiler Collection (GCC); With
gcc, you can compile the source code of any language for which a front end is available in GCC.
gfortrancommand itself, which also might be installed as the system’s
gfortranis just another driver program, but specifically for the Fortran compiler only. The primary difference between the
gfortrancommands is that the latter automatically links the correct libraries to your program.
gfortrancompilation phase, such as intrinsic functions and subroutines, and routines for interaction with files and the operating system.
f951). This is the GNU Fortran parser and code generator, linked to and interfaced with the GCC backend library.
f951“translates” the source code to assembler code. You would typically not use this program directly; instead, the
gfortrandriver programs call it for you.