Fortran: Allow IEEE_CLASS to identify signaling NaNs
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Sun, 2 Jan 2022 10:36:23 +0000 (11:36 +0100)
committerFrancois-Xavier Coudert <fxcoudert@gmail.com>
Mon, 10 Jan 2022 11:28:46 +0000 (12:28 +0100)
commit492954263e39346287a5a2a32bcc5312466a0ee1
tree839dd37ee7e5d1ef72ae09a908ddb9bf55035282
parentbe59671c5624fe8bf21ddb0192e97ebdfa4db381
Fortran: Allow IEEE_CLASS to identify signaling NaNs

We use the issignaling macro, present in some libc's (notably glibc),
when it is available. Compile all IEEE-related files in the library
(both C and Fortran sources) with -fsignaling-nans to ensure maximum
compatibility.

libgfortran/ChangeLog:

PR fortran/82207
* Makefile.am: Pass -fsignaling-nans for IEEE files.
* Makefile.in: Regenerate.
* ieee/ieee_helper.c: Use issignaling macro to recognized
signaling NaNs.

gcc/testsuite/ChangeLog:

PR fortran/82207
* gfortran.dg/ieee/signaling_1.f90: New test.
* gfortran.dg/ieee/signaling_1_c.c: New file.
gcc/testsuite/gfortran.dg/ieee/signaling_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/ieee/signaling_1_c.c [new file with mode: 0644]
libgfortran/Makefile.am
libgfortran/Makefile.in
libgfortran/ieee/ieee_helper.c