g95 – Fortran 95 compiler

g95 is a free, portable, open source Fortran 95 compiler.

It implements the Fortran 95 standard, part of the Fortran 2003 standard and some old and new extensions including proposed features for the Fortran 2008 standard like Co-array Fortran.

Parts of the F2003 and F2008 standards have been implemented in g95.

Features include:

  • Operation of compiled programs can be modified by a large list of environment variables, documented in the compiled program itself.
  • TR15581– Allocatable dummy arguments, derived type components.
  • F2003 style procedure pointers, structure constructors, interoperability.
  • F2003 intrinsic procedures and modules.
  • Dummy arguments of type VALUE in subroutine are passed by value.
  • Comma option in OPEN, READ, and WRITE for denoting decimal point.
  • Square brackets [ and ] may be used for array constructors.
  • IMPORT statement, used in an interface body to enable access to entities of the host scoping unit.
  • MIN() and MAX() for character as well as numeric types.
  • OPEN for “Transparent” or stream I/O.
  • Backwards compatibility with g77’s Application Binary Interface (ABI).
  • Default integers of 32 bits or 64 bits available.
  • Invoke SYSTEM() command.
  • Tabbed source allowed.
  • Symbolic names with $ option.
  • Hollerith data.
  • DOUBLE COMPLEX extension.
  • Varying length for named COMMON.
  • Mix numeric and character in COMMON and EQUIVALENCE.
  • INTEGER kinds: 1, 2, 4, 8.
  • LOGICAL kinds: 1, 2, 4, 8.
  • REAL kinds : 4, 8, (16 is experimental).
  • REAL(KIND=10) for x86-compatible systems. 19 digits of precision, value range 10±4931.
  • List-formatted floating point output prints the minimal number of digits necessary to uniquely distinguish the number.
  • VAX style debug (D) lines.
  • C style string constants option (e.g. ’hello\nworld’).
  • \ and $ edit descriptors.
  • VAX style system intrinsics (SECNDS etc).
  • Unix system extensions library (getenv, etime, stat, etc).
  • Detect non-conformant or non-allocated arrays at run-time.
  • Detection of memory leaks.
  • Traceback of runtime errors.
  • Smart compile feature prevents module compile cascades.
  • F compatibility option. G95 can be built as an F compiler.
  • Program suspend/resume feature.
  • Obsolete real loop index requires compiling with -freal-loops.
  • Quick response by developer on bug reports is typical.
  • Builds with GCC 4.0.3 to 4.1.2 release versions.
  • Supports the CONVERT= specifier in OPEN statements to specify endian conversion. Legal values are ’big endian’, ’little endian’, ’native’ and ’swap’.

Website: www.g95.org
Support: Documentation
Developer: Steven Bosscher, Paul Brook, Arnaud Desitter, Katherine Holcomb, Niels Kristian Bech Jensen, Steven G. Johnson, Tobi Schleuter, Andy Vaught
License: GNU GPL v2

g95 is written in C. Learn C with our recommended free books and free tutorials.

Return to Compilers Home Page


Ongoing series
Linux for StartersNew to Linux? Read our Linux for Starters series.
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Supplied with our legendary ratings charts.
Linux ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software.
Alternatives to GoogleAlternatives to Google's Products and Services examines your options to migrate from the Google ecosystem with open source Linux alternatives.
MicrosoftAlternatives to Microsoft's Products and Services recommends open source Linux software.
Linux System ToolsEssential Linux system tools looks at small, indispensable utilities, useful for system administrators as well as regular users.
Linux ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
Home Computer EmulatorsHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy opens up to the lighter side of Linux. Have some fun!
Best Free Android AppsBest Free Android Apps. There's a strict eligibility criteria for inclusion in this series
Programming BooksThese best free books accelerate your learning of every programming language
Programming TutorialsThese free tutorials offer the perfect tonic to the free programming books series
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.