Draft (unofficial) versions of the various Fortran standards and corrigenda are available from the [http://j3-fortran.org/ J3 website], the [http://www.nag.co.uk/sc22wg5/ WG5 website], and/or the [ftp://ftp.nag.co.uk/sc22wg5/ WG5 file server], in various formats.

Note that, of these standards, GNU Fortran currently only supports the base Fortran 95 standard (not parts 2 or 3) as amended in the two corrigenda, the Fortran 95 TR 15581 extension, and some portions of the Fortran 2003 standard. The other documents are linked here for reference, but should not be taken as documentation of GNU Fortran features.

Draft (unofficial) versions of the various recent Fortran standards and corrigenda are available from the [[http://j3-fortran.org/|J3 website]], the [[http://www.nag.co.uk/sc22wg5/|WG5 website]], and/or the [[ftp://ftp.nag.co.uk/sc22wg5/|WG5 file server]], in various formats. In addition, some older Fortran standards are available from [[http://www.fortran.com|www.fortran.com]]. The official standards can be bought from the [[http://www.iso.org/iso/en/CombinedQueryResult.CombinedQueryResult?queryString=Fortran|International Organization for Standardization (ISO)]] or from your national standardization organization. In particular, [[http://webstore.ansi.org/FindStandards.aspx?SearchString=Fortran|ANSI's webshop]] often sells the standard for much less than ISO.

Documents of the format N''nnnn'' (e.g. N1830) are available from on the [[ftp://ftp.nag.co.uk/sc22wg5/|FTP server of WG5]], documents of the form ''yy-nnnn'' (e.g. 04-007) or with an additional r''n'' suffix indicating the revision (e.g. 97-007r2) are available from [[http://j3-fortran.org/doc/]] in the "year" subdirectory.

Note that, of these standards, GNU Fortran currently only supports the base Fortran 95 standard (not parts 2 or 3) as amended in the two corrigenda, the Fortran 95 TR 15581 extension, the Fortran 77 standard with the MIL-STD 1753 extensions, and some portions of the Fortran 2003 and 2008 standard; these standards have been highlighted in bold. The other documents are linked here for reference, but should not be taken as documentation of GNU Fortran features.

== Fortran - Automatic Coding System for the IBM 704 ==

The oldest version; dated October 15, 1956, first presented in February 1957 and first delivered in April 1957.[[http://www.fh-jena.de/~kleine/history/languages/FortranAutomaticCodingSystemForTheIBM704.pdf|Fortran - Programmer's Reference Manual (PDF)]]

(Conditional Compilation is not supported directly by GNU Fortran but you can preprocess the files using [[http://www.daniellnagle.com/coco.html|COCO]]. Note: The WG5 "convenor [...] asked SC22 at its September [2010] plenary to request a JTC1 country ballot for withdrawal".)

Note IEEE 1003.9-1992 was withdrawn 6 February 2003. Some vendors provide their own way to access POSIX functions and make those available as module; for instance the [[http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/fortran/lin/compiler_f/bldaps_for/common/bldaps_portrout.htm|IFPORT]] module of Intel or the [[http://www.nag.co.uk/nagware/np/r52_doc/|f90_* modules of NAG]]. There also some compiler-independent efforts to make them accessible, e.g. [[http://savannah.nongnu.org/projects/posix90/|Posix90]] ([[http://www.nongnu.org/posix90/|doc]]), [[http://flibs.sf.net|flibs' platform/files and directories]], [[http://sourceforge.net/projects/fortranposix/|fortranposix]].

== ISO/IEC Project 22.24772: Guidance for Avoiding Vulnerabilities through Language Selection and Use =="The [[http://www.aitcnet.org/isai/index.html|OWGV project]] is preparing comparative guidance spanning multiple programming languages, so that application developers will be better able to avoid the programming errors that lead to vulnerabilities in these languages and their attendant consequences. This guidance can also be used by developers to select source code evaluation tools that can discover and eliminate coding errors that lead to vulnerabilities."

Documents of the format Nnnnn (e.g. N1830) are available from on the FTP server of WG5, documents of the form yy-nnnn (e.g. 04-007) or with an additional rn suffix indicating the revision (e.g. 97-007r2) are available from http://j3-fortran.org/doc/ in the "year" subdirectory.

Note that, of these standards, GNU Fortran currently only supports the base Fortran 95 standard (not parts 2 or 3) as amended in the two corrigenda, the Fortran 95 TR 15581 extension, the Fortran 77 standard with the MIL-STD 1753 extensions, and some portions of the Fortran 2003 and 2008 standard; these standards have been highlighted in bold. The other documents are linked here for reference, but should not be taken as documentation of GNU Fortran features.

(Conditional Compilation is not supported directly by GNU Fortran but you can preprocess the files using COCO. Note: The WG5 "convenor [...] asked SC22 at its September [2010] plenary to request a JTC1 country ballot for withdrawal".)

Other Relevant Standards

OpenMP (Open Multi-Processing)

POSIX

The IEEE standard covering Fortran 77 POSIX bindings is available online, though unfortunately only from locations with appropriate subscriptions to the IEEE server (e.g., many university networks). For those who do have such access, the link is:

ISO/IEC Project 22.24772: Guidance for Avoiding Vulnerabilities through Language Selection and Use

"The OWGV project is preparing comparative guidance spanning multiple programming languages, so that application developers will be better able to avoid the programming errors that lead to vulnerabilities in these languages and their attendant consequences. This guidance can also be used by developers to select source code evaluation tools that can discover and eliminate coding errors that lead to vulnerabilities."

ISO/IEC 9899 Programming languages -- C

The C standard is relevant for two parts: (a) the interoperability features of Fortran 2003/2008/interop TR and (b) for the C Preprocessor (CPP; "Preprocessing directives"), which gfortran supports as vendor extension.