https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104220
Bug ID: 104220 Summary: [12 Regression] Build fail: libgfortran/ieee/issignaling_fallback.h:140:21: error: token "=" is not valid in preprocessor expressions Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: build Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: fxcoudert at gcc dot gnu.org Target Milestone: --- Target: powerpc64le-linux-gnu Build: powerpc64le-linux-gnu powerpc64le-linux-gnu now fails as follows, it did build yesterday. Namely: gcc-mainline/libgfortran/ieee/issignaling_fallback.h:140:21: error: token "=" is not valid in preprocessor expressions 140 | #elif (__LDBL_DIG__ = 33) && __LDBL_IS_IEC_60559__ | ^ gcc-mainline/libgfortran/ieee/issignaling_fallback.h: In function '__issignalingl': gcc-mainline/libgfortran/ieee/issignaling_fallback.h:177:29: warning: unused parameter 'x' [-Wunused-parameter] 177 | __issignalingl (long double x) | ~~~~~~~~~~~~^ Makefile:7313: recipe for target 'ieee_helper.lo' failed make[3]: *** [ieee_helper.lo] Error 1 Probable caused by the commit: commit e89d0befe3ec3238fca6de2cb078eb403b8c7e99 Author: Francois-Xavier Coudert <fxcoud...@gcc.gnu.org> AuthorDate: Mon Jan 17 12:46:48 2022 +0100 CommitDate: Mon Jan 24 23:16:16 2022 +0100 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.