Degenerate Conic

Algorithms • Modern Fortran Programming • Orbital Mechanics

May 04, 2019

GFortran 9.1

gccegg-65

Gfortran 9.1 (part of GCC) has been released. Apparently this is a significant GCC release with a "huge number of improvements" including a new D language component. Of course, the Fortran updates are a little more modest. According to the release notes, the updates are:

  • Asynchronous I/O is now fully supported [Fortran 2003].
  • The BACK argument for MINLOC and MAXLOC has been implemented [Fortran 2008].
  • The FINDLOC intrinsic function has been implemented [Fortran 2008].
  • The IS_CONTIGUOUS intrinsic function has been implemented [Fortran 2008].
  • Direct access to the real and imaginary parts of a complex variable via c%re and c%im has been implemented [Fortran 2008].
  • Type parameter inquiry via str%len and a%kind has been implemented [Fortran 2008].
  • C descriptors and the ISO_Fortran_binding.h source file have been implemented [Fortran 2018].
  • The MAX and MIN intrinsics are no longer guaranteed to return any particular value in case one of the arguments is NaN.
  • A new command-line option -fdec-include, has been added as an extension for compatibility with legacy code using some non-standard behavior from the old DEC compiler.
  • A new BUILTIN directive, has been added. The purpose of the directive is to provide an API between the GCC compiler and the GNU C Library which would define vector implementations of math routines.

In addition, the release includes a bunch of bug fixes. Gfortran has more-or-less complete support for Fortran 2003, and only a couple things missing from Fortran 2008. There is a ways to go for full Fortran 2018 support. Gfortran is maintained by a very small number of volunteers, and their hard work is greatly appreciated!

See also

Mar 10, 2018

OpenCoarrays 2.0.0 Released

PGAS

OpenCoarrays 2.0.0 has been released. According to the release notes, this release adds support for:

  • Fortran 2018 teams (note that this requires the use of GFortran 8.x, currently under development)
  • Fortran 2018 QUIET specifier in STOP and ERROR STOP statements
  • Fortran 2008 allocatable & pointer components of derived-type coarrays

Since Fortran 2008 (with the inclusion of coarrays in the standard), Fortran has been a PGAS programming language. Fortran 2018 adds additional enhancements for coarrays (including the teams feature, and support for detection of failed images). OpenCoarrays is an open source (permissive BSD license) library that enables coarray support in the GFortran compiler.

See also

May 02, 2017

GFortran 7.1

gccegg-65

GCC (which includes GFortran) version 7.1 has just been released. Various features from Fortran 2003-2015 have been added, including:

  • User-defined derived-type input/output (UDTIO).
  • Partial support for derived type coarrays with allocatable and pointer components.
  • Non-constant stop codes and error stop codes.
  • Derived types with allocatable components of recursive type.
  • Intrinsic assignment to polymorphic variables.

Partial support for OpenMP 4.5 is also included. It looks like they also added support for several non-standard extensions that are present in legacy code. GFortran still hasn't quite made it to full Fortran 2003 support, over a decade after that standard was published. But they are getting there. Thanks to the small number of volunteers who work on this. You are the real heroes!

See also

Apr 28, 2016

Gfortran 6.1

gccegg-65

Gfortran 6.1 (part of GCC) has been released. The release notes don't say much with respect to Fortran:

  • The MATMUL intrinsic is now inlined for straightforward cases if front-end optimization is active. The maximum size for inlining can be set to n with the -finline-matmul-limit=n option and turned off with -finline-matmul-llimit=0.
  • The -Wconversion-extra option will warn about REAL constants which have excess precision for their kind.
  • The -Winteger-division option has been added, which warns about divisions of integer constants which are truncated. This option is included in -Wall by default.

But, apparently, this version includes some nice updates, including support for Fortran 2008 submodules, Fortran 2015 Coarray events, as well as bug fixes for deferred-length character variables.

See also

Apr 25, 2015

Fortran Compiler News

fortran2

The GNU Project just announced the availability of GCC 5.1. There are various new GFortran features, including:

  • Availability of the intrinsic IEEE modules (ieee_features, ieee_exceptions and ieee_arithmetic) from Fortran 2003.
  • Support for implicit none (external, type) from Fortran 2015.

GFortran is still not completely Fortran 2003 compatible, however.

In Intel news, Intel Parallel Studio XE 2016 is now in beta (which includes v16 of the Intel Fortran Compiler). The major new features are:

  • Submodules from Fortran 2008!
  • impure elemental from Fortran 2008.
  • "Further Interoperability with C" features from TS29113 (Fortran 2015 draft).

Jul 20, 2014