Use TImode instead of the default DImode.  Fixes ICE when building libstc++.

Additionally, this change fixes:

c-c++-common/pr111309-1.c  -Wc++-compat  (test for excess errors)
c-c++-common/pr111309-1.c  -Wc++-compat  execution test
gcc.dg/pr105094.c (test for excess errors)
gcc.dg/torture/pr116480-1.c   -O0  (test for excess errors)
gcc.dg/torture/pr116480-1.c   -O1  (test for excess errors)

gcc/ChangeLog:
        PR target/120935
        * config/mmix/mmix.h (MAX_FIXED_MODE_SIZE): Define.

Signed-off-by: Pietro Monteiro <pie...@sociotechnical.xyz>
---
 gcc/config/mmix/mmix.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 44669e195b4..e1af549ac49 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -793,6 +793,10 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 #define NO_DOLLAR_IN_LABEL
 #define NO_DOT_IN_LABEL
 
+/* An integer expression for the size in bits of the largest integer machine
+   mode that should actually be used.  We allow pairs of registers.  */
+#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TImode)
+
 #endif /* GCC_MMIX_H */
 /*
  * Local variables:
-- 
2.43.0

Reply via email to