Skip to content

Releases: Goddard-Fortran-Ecosystem/gFTL

v1.5.0

22 Sep 15:42
66403eb
Compare
Choose a tag to compare

This will be the final (non bugfix) release of version 1.

Future version 2 releases will break backwards compatibility by making
the v2 containers default, but v1 containers will still be accessible with
minimal changes.

Documentation for v2 containers should be completed soon, but as
always, the comparable C++ STL documentation is generally quite close
modulo Fortran syntax.

Fixed

  • Added support for compiling on Windows with Intel compiler.
  • Corrected uninitialized value problem with v2 maps. Detected
    by NAG with aggressive debug flags.
  • Corrected logic for default value for vectors of (polymorphic)
    abstract objects.
  • Corrected logic for standard GFortran workarounds for fHamcrest tests.

Changed

  • Simplified various expressions involving type operations. Intel 2021.1 was choking
    on an external use case but seems happier if intemediate variables are introduced
    within expressions involving user defined == and <. Some attempt was made to use
    ASSOCIATE instead, but NAG 7.0 had trouble with one of those. A reproducer for
    the Intel problem has been created and will be submitted.
  • Set container now uses ALLOCATABLE for children rather than pointers. This makes
    some internal algorithms a bit painful to implement, but avoids the need for explicit
    FINAL methods which appear to expose buggy compilers. (Hard to isolate though.)

Deleted

  • Deleted altSet support in v2 containers. This was always intendend
    as a workaround for limitations in FINAL implementation by various
    compilers. But v2 set now uses allocatable containers and sidesteps
    this. (Also, altset was never completed in v2 containers anyway.)

Bug fix

09 Apr 21:50
88f5c65
Compare
Choose a tag to compare

Fixed

  • Last minute fixes for gfortran missed a duplicate type declaration
    caught by NAG.

Added

  • enabled double precision complex in v2 interfaces.

Introducing v2 interfaces

09 Apr 17:56
bbb112d
Compare
Choose a tag to compare

This release introduces a 2nd set of interfaces for existing containers, as well as a slew of new containers. The new interfaces are intended to be even closer to the STL standard, but are not backwards compatible with v1.

v1 interfaces remain the default, but users can now link against GFTL::gftl-v2 to use the new interfaces. Users can also explicitly link with GFTL::gftl-v1 to insulate against changes when v2 becomes the default in release v2.0.

Comments on how to further improve the consistency with STL interfaces are strongly encouraged. We will also welcome contributions to the API documentation. Prototypes are in ./include/v2/vector/vector.md and ./include/v2/map.md.

Backport of intel workaround

10 Mar 14:20
Compare
Choose a tag to compare

Weird case of 132 columns mattering.

Fix for using CMake namespace in exports

06 Feb 23:59
34bbedd
Compare
Choose a tag to compare

gFTL now uses CMake namespaces. Upstream projects should now link with
GFTL::gftl instead of gftl. Technically a backward incompatibility, but
does not seem serious enough to warrant a major release.

Compiler workaround workaround

25 Aug 17:41
e2aaa0d
Compare
Choose a tag to compare

Undoing previous commit. Caused insidious downstream issues with 18.0.5. Better to just kludge the failing test and move on.

Compiler workarounds

24 Aug 20:24
ca1b3e2
Compare
Choose a tag to compare

Fixed one more test that was missed in previous update. (Was using -f filter to focus on some failing tests. Blinded to thore tests.)

Minor bug fix

06 Apr 12:38
a8e72c4
Compare
Choose a tag to compare

Eliminated a stray in source code.

Workaround for PGI compiler

06 Jan 14:20
8da5afd
Compare
Choose a tag to compare
v1.2.3

Merge pull request #91 from Goddard-Fortran-Ecosystem/feature/pgi-wor…

Bugfix

17 Nov 00:28
33dbb04
Compare
Choose a tag to compare

Bugfix for workaround in v1.2.1; some use cases were not deallocating structure components prior to reallocation.