diff options
author | Dana Robinson <43805+derobins@users.noreply.github.com> | 2023-11-07 16:13:30 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-07 16:13:30 (GMT) |
commit | e0d095ebf020706ec7d7c82e6674b18f1a0a2d5b (patch) | |
tree | 81df13653837d46588c856bee0cf7fcbd7779d2f /release_docs/RELEASE.txt | |
parent | ec695cf34f7256d7af9bbc2fcf5366da0119fcea (diff) | |
download | hdf5-e0d095ebf020706ec7d7c82e6674b18f1a0a2d5b.zip hdf5-e0d095ebf020706ec7d7c82e6674b18f1a0a2d5b.tar.gz hdf5-e0d095ebf020706ec7d7c82e6674b18f1a0a2d5b.tar.bz2 |
Disable FP exceptions in H5T init code (#3837)
The H5T floating-point datatype initialization code can raise exceptions when handling signaling NaNs. This change disables FE_INVALID exceptions during initialization.
Also removes the -ieee=full change for NAG Fortran as that shouldn't be necessary anymore.
Fixes #3831
Diffstat (limited to 'release_docs/RELEASE.txt')
-rw-r--r-- | release_docs/RELEASE.txt | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 5e85378..1454574 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -408,6 +408,22 @@ Bug Fixes since HDF5-1.14.0 release =================================== Library ------- + - Suppressed floating-point exceptions in H5T init code + + The floating-point datatype initialization code in H5Tinit_float.c + could raise FE_INVALID exceptions while munging bits and performing + comparisons that might involve NaN. This was not a problem when the + initialization code was executed in H5detect at compile time (prior + to 1.14.3), but now that the code is executed at library startup + (1.14.3+), these exceptions can be caught by user code, as is the + default in the NAG Fortran compiler. + + Starting in 1.14.4, we now suppress floating-point exceptions while + initializing the floating-point types and clear FE_INVALID before + restoring the original environment. + + Fixes GitHub #3831 + - Fixed a file handle leak in the core VFD When opening a file with the core VFD and a file image, if the file @@ -1190,12 +1206,6 @@ Known Problems -O1 for the time being: https://forums.developer.nvidia.com/t/hdf5-no-longer-compiles-with-nv-23-9/269045. - IEEE standard arithmetic enables software to raise exceptions such as overflow, - division by zero, and other illegal operations without interrupting or halting - the program flow. The HDF5 C library intentionally performs these exceptions. - Therefore, the "-ieee=full" nagfor switch is necessary when compiling a program - to avoid stopping on an exception. - CMake files do not behave correctly with paths containing spaces. Do not use spaces in paths because the required escaping for handling spaces results in very complex and fragile build files. |