<html lang="en"> <head> <title>Project Status - The GNU Fortran Compiler</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="The GNU Fortran Compiler"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Introduction.html#Introduction" title="Introduction"> <link rel="prev" href="GNU-Fortran-and-G77.html#GNU-Fortran-and-G77" title="GNU Fortran and G77"> <link rel="next" href="Standards.html#Standards" title="Standards"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being ``Funding Free Software'', the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled ``GNU Free Documentation License''. (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development.--> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Project-Status"></a> <p> Next: <a rel="next" accesskey="n" href="Standards.html#Standards">Standards</a>, Previous: <a rel="previous" accesskey="p" href="GNU-Fortran-and-G77.html#GNU-Fortran-and-G77">GNU Fortran and G77</a>, Up: <a rel="up" accesskey="u" href="Introduction.html#Introduction">Introduction</a> <hr> </div> <h3 class="section">1.5 Project Status</h3> <blockquote> As soon as <samp><span class="command">gfortran</span></samp> can parse all of the statements correctly, it will be in the “larva” state. When we generate code, the “puppa” state. When <samp><span class="command">gfortran</span></samp> is done, we'll see if it will be a beautiful butterfly, or just a big bug.... <p>–Andy Vaught, April 2000 </blockquote> <p>The start of the GNU Fortran 95 project was announced on the GCC homepage in March 18, 2000 (even though Andy had already been working on it for a while, of course). <p>The GNU Fortran compiler is able to compile nearly all standard-compliant Fortran 95, Fortran 90, and Fortran 77 programs, including a number of standard and non-standard extensions, and can be used on real-world programs. In particular, the supported extensions include OpenMP, Cray-style pointers, and several Fortran 2003 and Fortran 2008 features, including TR 15581. However, it is still under development and has a few remaining rough edges. <p>At present, the GNU Fortran compiler passes the <a href="http://www.fortran-2000.com/ArnaudRecipes/fcvs21_f95.html">NIST Fortran 77 Test Suite</a>, and produces acceptable results on the <a href="http://www.netlib.org/lapack/faq.html#1.21">LAPACK Test Suite</a>. It also provides respectable performance on the <a href="http://www.polyhedron.com/pb05.html">Polyhedron Fortran compiler benchmarks</a> and the <a href="http://www.llnl.gov/asci_benchmarks/asci/limited/lfk/README.html">Livermore Fortran Kernels test</a>. It has been used to compile a number of large real-world programs, including <a href="http://mysite.verizon.net/serveall/moene.pdf">the HIRLAM weather-forecasting code</a> and <a href="http://www.theochem.uwa.edu.au/tonto/">the Tonto quantum chemistry package</a>; see <a href="http://gcc.gnu.org/wiki/GfortranApps">http://gcc.gnu.org/wiki/GfortranApps</a> for an extended list. <p>Among other things, the GNU Fortran compiler is intended as a replacement for G77. At this point, nearly all programs that could be compiled with G77 can be compiled with GNU Fortran, although there are a few minor known regressions. <p>The primary work remaining to be done on GNU Fortran falls into three categories: bug fixing (primarily regarding the treatment of invalid code and providing useful error messages), improving the compiler optimizations and the performance of compiled code, and extending the compiler to support future standards—in particular, Fortran 2003 and Fortran 2008. <!-- --> <!-- Standards --> <!-- --> </body></html>