https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112957

            Bug ID: 112957
           Summary: [13/14 regression] src/std/math/exponential.d doesn't
                    compile on 32-bit FreeBSD/x86
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: ro at gcc dot gnu.org
                CC: andreast at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-unknown-freebsd14.0
            Target: x86_64-unknown-freebsd14.0
             Build: x86_64-unknown-freebsd14.0

Building both GCC 13.2.0 and trunk on FreeBSD 14.0 failed in the same way:

/vol/gcc/src/gcc-13.2.0/libphobos/src/std/math/exponential.d:1977:9: error:
stat
ic assert:  "no coefficients for exp2()"
 1977 |         static assert(0, "no coefficients for exp2()");
      |         ^
/vol/gcc/src/gcc-13.2.0/libphobos/src/std/math/exponential.d:1684:20: note:
inst
antiated from here: ‘exp2Impl!real’
 1684 |     return exp2Impl(x);
      |                    ^
gmake[9]: *** [Makefile:1285: std/json.lo] Error 1

Only the 32-bit multilib is affected.  I suspect this is due to the unusual
format of long double on 32-bit FreeBSD/x86: i386/freebsd.h has

#define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT)

Reply via email to