https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106832
--- Comment #21 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Peter Bergner from comment #20) > So going back to my IBM128 build, I see that libphobos does have some code > relating to mant_dig == 106 which is IBM128/IBM double-double, including in > the file that's ICEing here due to the assert. I've patched two asserts to > allow IBM128 and I'm re-kicking off a bootstrap and regtest. It might be > that the only problem the asserts needed updating? We'll see. For the record, this is what I'm testing with: diff --git a/libphobos/configure.tgt b/libphobos/configure.tgt index 0063dd23249..e78688010ed 100644 --- a/libphobos/configure.tgt +++ b/libphobos/configure.tgt @@ -44,7 +44,6 @@ case "${target}" in ;; power*-*-linux*) LIBPHOBOS_SUPPORTED=yes - LIBDRUNTIME_ONLY=yes ;; riscv*-*-linux*) LIBPHOBOS_SUPPORTED=yes diff --git a/libphobos/src/std/math/package.d b/libphobos/src/std/math/package.d index 19982ec216a..d0752032d1f 100644 --- a/libphobos/src/std/math/package.d +++ b/libphobos/src/std/math/package.d @@ -318,13 +318,14 @@ do version (LittleEndian) { static assert(real.mant_dig == 53 || real.mant_dig == 64 - || real.mant_dig == 113, + || real.mant_dig == 106 || real.mant_dig == 113, "Only 64-bit, 80-bit, and 128-bit reals"~ " are supported for LittleEndian CPUs"); } else { - static assert(real.mant_dig == 53 || real.mant_dig == 113, + static assert(real.mant_dig == 53 || real.mant_dig == 106 + || real.mant_dig == 113, "Only 64-bit and 128-bit reals are supported for BigEndian CPUs."); }