Fortran: provide a fallback implementation of issignaling
commite89d0befe3ec3238fca6de2cb078eb403b8c7e99
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 17 Jan 2022 11:46:48 +0000 (17 12:46 +0100)
committerFrancois-Xavier Coudert <fxcoudert@gmail.com>
Mon, 24 Jan 2022 22:16:16 +0000 (24 23:16 +0100)
tree41fae2bcc0c07ac87ddfa6c3c32dc3a9b283fb47
parent4343f5e256791a5abaaef29fe1f831a03bab129e
Fortran: provide a fallback implementation of issignaling

For targets with IEEE support but without the issignaling macro in libc
(currently, everywhere except glibc), this allows us to provide a fallback
implementation. In order to keep the code in ieee_helper.c relatively
readable, I've put that new implementation in a separate file,
issignaling_fallback.h.

libgfortran/ChangeLog:

* ieee/issignaling_fallback.h: New file.
* ieee/ieee_helper.c: Include issignaling_fallback.h when target
does not define issignaling macro.

gcc/testsuite/ChangeLog:

* gfortran.dg/ieee/signaling_1.f90: Do not require issignaling.
* gfortran.dg/ieee/signaling_2.f90: Add comment.
* gfortran.dg/ieee/signaling_3.f90: New test.
gcc/testsuite/gfortran.dg/ieee/signaling_1.f90
gcc/testsuite/gfortran.dg/ieee/signaling_2.f90
gcc/testsuite/gfortran.dg/ieee/signaling_3.f90 [copied from gcc/testsuite/gfortran.dg/ieee/signaling_2.f90 with 52% similarity]
libgfortran/ieee/ieee_helper.c
libgfortran/ieee/issignaling_fallback.h [new file with mode: 0644]