The test fails on 32-bit targets (which don't support __int128 type).
Using unsigned long long instead still ICEs before the fix and passes
after it on those targets.
2024-07-29 Jakub Jelinek <jakub@redhat.com>
PR c++/115986
* g++.dg/cpp2a/consteval-prop21.C (operator "" _c): Use
unsigned long long rather than __uint128_t for return type if int128
is unsupported.
constexpr int b(T) {
return 0;
}
-consteval __uint128_t operator"" _c(const char*) { return 0; }
+consteval
+#ifdef __SIZEOF_INT128__
+__uint128_t
+#else
+unsigned long long
+#endif
+operator"" _c(const char*) { return 0; }
constexpr char e() {
long f = true ? 0 : b(long(1));
return b(f);