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.");
 }

Reply via email to