GNU Fortran

{{Short description|Fortran compiler}}

{{Outdated|part=|date=January 2021|reason=it already has better support for Fortran}}

{{Infobox software

| name =

| title = GNU Fortran

| logo = GNU Compiler Collection logo.svg

| logo size = 100px

| logo caption =

| screenshot =

| caption =

| collapsible =

| author =

| developer = GNU Project

| released = {{start date and age|2005|04|20}}{{cite web|url=https://www.gnu.org/software/gcc/releases.html|title=GCC Releases – GNU Project – Free Software Foundation (FSF)|access-date=2019-02-23|publisher=GNU Project}}

| discontinued =

| latest release version = 13.2{{Cite web|title=GCC 13 Release Series - GNU Project - Free Software Foundation (FSF)|url=https://gcc.gnu.org/gcc-13/|website=gcc.gnu.org|access-date=2023-09-11}}{{r|release-history}}

| latest release date = {{Start date and age|2023|07|27|df=yes}}

| programming language = C, C++

| operating system = Cross-platform

| platform = GNU

| size =

| language =

| genre = Compiler

| license = GNU General Public License (version 3 or later)

| alexa =

| website = {{Official URL}}

}}

GNU Fortran (GFortran) is an implementation of the Fortran programming language in the GNU Compiler Collection (GCC), an open-source and free software project maintained in the open-source programmer community under the umbrella of the GNU Project. It is the successor to previous compiler versions in the suite, such as g77.

History

As of July 2020, GFortran had almost fully implemented Fortran 2008, and about 20% of Fortran 2018.{{cite web|title=Chart of Fortran 2003 Features supported by GNU Fortran|publisher=GNU|url=https://gcc.gnu.org/wiki/Fortran2003Status|access-date=2009-06-25}}{{cite web|title=Chart of Fortran 2008 Features supported by GNU Fortran|publisher=GNU|url=https://gcc.gnu.org/wiki/Fortran2008Status|access-date=2009-06-25}} It supports the OpenMP{{Cite web|url=https://jblevins.org/log/openmp|title = Parallel Computing in Fortran with OpenMP}} multi-platform shared memory multiprocessing, up to its latest version (4.5).{{Cite web|url=https://gcc.gnu.org/onlinedocs/gfortran/OpenMP.html#OpenMP|title = OpenMP (The GNU Fortran Compiler)}} GFortran is also compatible with most language extensions and compilation options supported by g77,{{cite web|title=Discussion of incompatibilities between g77 and gfortran|publisher=GNU|url=https://gcc.gnu.org/ml/fortran/2007-01/msg00619.html|access-date=2007-01-26}} and many other popular extensions of the Fortran language.{{Cite web|url=https://gcc.gnu.org/onlinedocs/gfortran/Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran|title=Extensions implemented in GNU Fortran (The GNU Fortran Compiler)}}

Since GCC version 4.0.0, released in April 2005,{{Cite web|url=https://gcc.gnu.org/gcc-4.0/|title = GCC 4.0 Release Series - GNU Project}} GFortran has replaced the older g77 compiler. The new Fortran front-end for GCC was rewritten from scratch,{{Cite web|url=https://gcc.gnu.org/onlinedocs/gcc-4.1.2/gfortran/GFORTRAN-and-G77.html|title = GFORTRAN and G77 - the GNU Fortran 95 Compiler}} after the principal author and maintainer of g77, Craig Burley, decided in 2001 to stop working on the g77 front end.{{Cite web|url=http://www.kilmnj.com/g77/why.html|title = Why I'm Stopping My G77 Work}} GFortran forked off from g95 in January 2003, which itself started in early 2000. The two codebases have "significantly diverged" according to GCC developers,{{cite web|title=The other GCC-based Fortran compiler|publisher=GNU|url=https://gcc.gnu.org/wiki/TheOtherGCCBasedFortranCompiler|access-date=2007-04-11}} and g95 has not been maintained since 2013. Since 2010 the front-end, like the rest of the GCC project, has been migrated to C++, where it was previously written in C.{{Cite web|url=http://www.h-online.com/open/news/item/GCC-allows-C-to-some-degree-1012611.html|title = GCC allows C++ – to some degree - the H Open: News and Features}} Development of the compiler by volunteer users continues{{Cite web |date=2023-02-12 |title=Letter from GCC/gfortran contributor with a brief history |url=https://fortran-lang.discourse.group/t/letter-from-gcc-gfortran-contributor-with-a-brief-history/5188/2 |access-date=2023-02-24 |website=Fortran Discourse |language=en}} and each new version of GCC incorporates better support for the latest language standards and bug fixes.

See also

References

{{reflist}}