diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2022-01-10 17:04:34 +0100 |
---|---|---|
committer | Francois-Xavier Coudert <fxcoudert@gmail.com> | 2022-01-16 22:57:45 +0100 |
commit | 90045c5df5b3c8853e7740fb72a11aead1c489bb (patch) | |
tree | 5a59d689ecb0d21bb9aa1cb3e3a1d2e479a5f07b /libstdc++-v3/include/std/ratio | |
parent | bca1c431affee41ecadb7f29d8d65142a73e0ebf (diff) | |
download | gcc-90045c5df5b3c8853e7740fb72a11aead1c489bb.zip gcc-90045c5df5b3c8853e7740fb72a11aead1c489bb.tar.gz gcc-90045c5df5b3c8853e7740fb72a11aead1c489bb.tar.bz2 |
Fortran: allow IEEE_VALUE to correctly return signaling NaNs
I moved the library implementation of IEEE_VALUE in libgfortran from
Fortran to C code, which gives us access to GCC's built-ins for NaN generation
(both quiet and signalling). It will be perform better than the current
Fortran implementation.
libgfortran/ChangeLog:
PR fortran/82207
* mk-kinds-h.sh: Add values for TINY.
* ieee/ieee_arithmetic.F90: Call C helper functions for
IEEE_VALUE.
* ieee/ieee_helper.c: New functions ieee_value_helper_N for each
floating-point type.
gcc/testsuite/ChangeLog:
PR fortran/82207
* gfortran.dg/ieee/ieee_10.f90: Do not create signaling NaNs.
* gfortran.dg/ieee/signaling_2.f90: New test.
* gfortran.dg/ieee/signaling_2_c.c: New file.
Diffstat (limited to 'libstdc++-v3/include/std/ratio')
0 files changed, 0 insertions, 0 deletions