testsuite: Fix up consteval-prop21.C for 32-bit targets [PR115986]

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.

(cherry picked from commit 331f23540eec39fc1e665f573c4aac258bba6043)
This commit is contained in:
Jakub Jelinek 2024-07-29 09:33:09 +02:00 committed by Jason Merrill
parent 9662299593
commit 61cb0c889e

View file

@ -5,7 +5,13 @@ template <typename T>
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);