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)