diff --git a/CHANGELOG.md b/CHANGELOG.md index ab781263f59a..f003861a1273 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Deprecated +## [2.40.1] - 2023-08-01 + +### Fixed + +- Workaround for NAG which prevents reading values from ESMF Config files that have been set using `SetAttribute()`. The immediate issue appears to be due to a wrong CPP conditional on `ESMF_HAS_ACHAR_BUG', but it is not immediately clear if this is due to recent changes in ESMF or some change in NAG. Probably ESMF though. Once the ESMF core team analyzes we will potentially update this fix. + ## [2.40.0] - 2023-07-29 ### Added diff --git a/CMakeLists.txt b/CMakeLists.txt index b2b1f4cdc436..8b071df3bbcc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ endif () project ( MAPL - VERSION 2.40.0 + VERSION 2.40.1 LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF # Set the possible values of build type for cmake-gui diff --git a/base/MAPL_Config.F90 b/base/MAPL_Config.F90 index 23050c5ea88c..48840ca33343 100644 --- a/base/MAPL_Config.F90 +++ b/base/MAPL_Config.F90 @@ -42,7 +42,7 @@ function MAPL_ConfigCreate(unusable, rc) result(config) integer, optional, intent(out) :: rc character, parameter :: EOB = achar(00) !! end of buffer mark (null) -#ifdef ESMF_HAS_ACHAR_BUG +#if defined(ESMF_HAS_ACHAR_BUG) | defined(__NAG_COMPILER_BUILD) character, parameter :: EOL = achar(12) !! end of line mark (cr) #else character, parameter :: EOL = achar(10) !! end of line mark (newline) @@ -95,7 +95,7 @@ subroutine MAPL_ConfigSetAttribute_real64( config, value, label, rc ) character, parameter :: BLK = achar(32) ! blank (space) character, parameter :: TAB = achar(09) ! TAB -#ifdef ESMF_HAS_ACHAR_BUG +#if defined(ESMF_HAS_ACHAR_BUG) | defined(__NAG_COMPILER_BUILD) character, parameter :: EOL = achar(12) ! end of line mark (cr) #else character, parameter :: EOL = achar(10) ! end of line mark (newline) @@ -264,7 +264,7 @@ subroutine MAPL_ConfigSetAttribute_real32( config, value, label, rc ) character, parameter :: BLK = achar(32) ! blank (space) character, parameter :: TAB = achar(09) ! TAB -#ifdef ESMF_HAS_ACHAR_BUG +#if defined(ESMF_HAS_ACHAR_BUG) | defined(__NAG_COMPILER_BUILD) character, parameter :: EOL = achar(12) ! end of line mark (cr) #else character, parameter :: EOL = achar(10) ! end of line mark (newline) @@ -433,7 +433,7 @@ subroutine MAPL_ConfigSetAttribute_int32( config, value, label, rc ) character, parameter :: BLK = achar(32) ! blank (space) character, parameter :: TAB = achar(09) ! TAB -#ifdef ESMF_HAS_ACHAR_BUG +#if defined(ESMF_HAS_ACHAR_BUG) | defined(__NAG_COMPILER_BUILD) character, parameter :: EOL = achar(12) ! end of line mark (cr) #else character, parameter :: EOL = achar(10) ! end of line mark (newline) @@ -678,7 +678,7 @@ subroutine MAPL_ConfigSetAttribute_string(config, value, label, rc) character, parameter :: BLK = achar(32) ! blank (space) character, parameter :: TAB = achar(09) ! TAB -#ifdef ESMF_HAS_ACHAR_BUG +#if defined(ESMF_HAS_ACHAR_BUG) | defined(__NAG_COMPILER_BUILD) character, parameter :: EOL = achar(12) ! end of line mark (cr) #else character, parameter :: EOL = achar(10) ! end of line mark (newline)