gfortran: Compiler Status

Contents

Overview

Gfortran is not complete, but it should already be usable for some user code. The implementations of COMMON and EQUIVALENCE are fairly new and thus not well tested, so give them a try. We provide details on the status of the run time library. Gfortran is regularly compiled on i386 GNU/Linux, PowerPC GNU/Linux, Cygwin and FreeBSD/i386, and can thus be built out of the box most of the time there. We are interested in your experiences on other platforms.

A precise listing of things that still need to be done can be found on the Open Projects page.

Front end

This is the part of gfortran which parses a source file, verifies that it is valid Fortran 95, performs compile time replacement of constants (PARAMETER variables) and reads and generate module files. This is almost complete. Every non-Fortran 95 source should be rejected, every Fortran 95 source should pass. If you find a source file where this is not true, please tell us. You can use the -fsyntax-only switch to make gfortran quit after running the front end, effectively reducing it to a syntax checker.

Open projects include support for legacy constructs, like the language features deleted from Fortran 95.

Middle end Interface

These are the parts of gfortran that take the parse tree generated by the front end and translate it to the GENERIC form required by the GCC back end. Work is ongoing in these parts of gfortran, but a large part has already been completed.

Current issues being worked on include:

Middle end and Back end

Gfortran uses the middle end and back end of GCC, more specifically, it is built on the Tree-SSA branch of GCC, which is meant to become part of GCC 4.0. We hope to be able to include at least a beta version of gfortran into GCC by this time.

Reporting Bugs

If you think you have found a bug, please report it to our bug database. Please include the information necessary to reproduce the bug, especially minimal Fortran source code that triggers the bug, information on your computer architecture and the version of gfortran you are using (e.g. one of the binaries distributed by us, the date of the CVS sources you used to compile gfortran yourself etc.). If you are not sure if the bug you have found is an issue with the front end or the back end, please try using the -fsyntax-only command line switch.