g95 – Fortran 95 compiler

Last Updated on October 18, 2022

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: g95.sourceforge.net
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

Popular series
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
GamesAwesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series.
Artificial intelligence iconMachine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source.
Guide to LinuxNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
AudioSurveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.
Saving Money with LinuxSaving Money with Linux looks at how you can reduce your energy bills running Linux.
Home ComputersHome 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. It can be a bumpy ride.
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 reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Linux Around The WorldLinux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Notify of

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

Inline Feedbacks
View all comments