gfortran — the GNU Fortran compiler, part of GCC
Gfortran is the name of the GNU Fortran project, developing a free Fortran 95/2003/2008 compiler for GCC, the GNU Compiler Collection. The gfortran development effort uses an open development environment in order to attract a larger team of developers and to ensure that gfortran can work on multiple architectures and diverse environments.
This wiki contains links to binary packages for gfortran, up-to-date status of the compiler, recently fixed bugs, etc. You can find here our "getting started" web page for new users of gfortran.
The official homepage for gfortran also contains a limited amount of general information about the project, its goals and the ways you can contribute.
A Guide to Building gcc/gfortran is available.
Platforms where gfortran is known to work
Manuals and other documentation
Fortran GUI Interface (Fortran interface for Gtk)
- GNU Fortran-related mailing lists and news groups
GNU Fortran user list (less active than the one above)
Fortran 90 mailing list (Fortran in general, less active than comp.lang.fortran)
ftagshtml A call graph generator for Fortran and C
f90cache A Fortran 90 compiler cache (works like ccache)
There is also a list of bugs that we do not want to fix, at least at present.
For gfortran developers
For those despairing of git: Some help can be found in the GitCookbook.
- Bug Bashing (status 3rd May 2019; incl. some double counting)
Regressions 61 bugs 6 assigned
PRs where a valid program is rejected or wrong code is produced 5 bugs, 1 assigned (Fortran 95 with default options)
Serious bugs 7 bugs 2 assigned; includes Fortran 95 bugs from above plus selected other bugs with high priority
PRs where wrong code is produced 100 bugs 9 assigned [often triggered for special cases only]
PRs where invalid code is accepted or gives an internal compiler error 107 bugs 6 assigned
PRs which show where the diagnostics can be improved 113 bugs 5 assigned
All reports (bug reports, feature requests etc.): 872 reports
Graphical bug count timeline (Bugzilla account unfortunately required)
Projects for inclusion into gfortran-4.6: please add your own projects there, with an approximate date of merging and state of readiness
Action list for gfortran-4.5: summary of gfortran get-together of 2008-11-28
SymbolVersioning for runtime libraries.
GFortranScalarizer documents the scalarizer gfortran uses internally to translate array fortran statements into scalar code enclosed in a loop.
Manuals and other documentation
GFortran documentation is included with the GCC documentation, which is available from the GCC website. There is documentation for released compilers, and also documentation for the latest snapshot from the development tree. The manuals are re-generated nightly.
Doxygen documentation of the compiler, points to the full Doxygen documentation, including sources, globals and symbols. This allows you to follow the frontend code in some considerable detail.
GFortranUsage contains helpful info about using gfortran
g77 was the predecessor to gfortran. As of gcc-4.0, it is no longer actively supported
Draft versions of the Fortran standards can be downloaded from the standards committee websites; see GFortranStandards for details.
You can report bugs in GCC bugzilla. You can look for existing bugs, track bug fixing progress, and report new bugs there. The list of all open gfortran bugs (including enhancement requests and low-priority bugs) can be found here. Before submitting a bug report, please update your version of gfortran to the latest available release of GCC. For example, if you find a bug with gfortran 4.0.2, then upgrade to at least GCC 4.1.0 and see if the bug is still present.
There is a separate page for the most wanted gfortran bugs, which contains a list of bugs that block gfortran from building major packages. Some ideas for enhancing gfortran can also be of interest...
Use the gfortran mailing list, firstname.lastname@example.org , to ask the gfortran community your questions, and report bugs if you are uncertain on how to handle bugzilla. We'll be glad to help!