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.

Reply via email to