aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorLewis Hyatt <lhyatt@gmail.com>2023-07-19 22:07:54 -0400
committerLewis Hyatt <lhyatt@gmail.com>2023-07-19 23:18:31 -0400
commitb2cfe5233e682fc04a9b6fc91f3d30685515630b (patch)
treebfd9f42b8a1f675baea758b763aa446cfd57b039 /gcc
parent38daaaa91438d3f635a10bf5d5181c3b29f07df9 (diff)
downloadgcc-b2cfe5233e682fc04a9b6fc91f3d30685515630b.zip
gcc-b2cfe5233e682fc04a9b6fc91f3d30685515630b.tar.gz
gcc-b2cfe5233e682fc04a9b6fc91f3d30685515630b.tar.bz2
testsuite: Fix C++ UDL tests failing on 32-bit arch [PR103902]
These tests need to use "size_t" rather than "unsigned long" for the user-defined literal function arguments. gcc/testsuite/ChangeLog: PR preprocessor/103902 * g++.dg/cpp0x/udlit-extended-id-1.C: Change "unsigned long" to "size_t" throughout. * g++.dg/cpp0x/udlit-extended-id-3.C: Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C9
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-3.C6
2 files changed, 9 insertions, 6 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C b/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
index 5ea5ef0..c7091e9 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
@@ -1,6 +1,7 @@
// { dg-do run { target c++11 } }
// { dg-additional-options "-Wno-error=normalized" }
#include <cstring>
+#include <cstddef>
using namespace std;
constexpr unsigned long long operator "" _π (unsigned long long x)
@@ -21,22 +22,22 @@ char x2[2_Π2];
static_assert (sizeof x1 == 3, "test1");
static_assert (sizeof x2 == 8, "test2");
-const char * operator "" _1σ (const char *s, unsigned long)
+const char * operator "" _1σ (const char *s, size_t)
{
return s + 1;
}
-const char * operator ""_Σ2 (const char *s, unsigned long)
+const char * operator ""_Σ2 (const char *s, size_t)
{
return s + 2;
}
-const char * operator "" _\U000000e61 (const char *s, unsigned long)
+const char * operator "" _\U000000e61 (const char *s, size_t)
{
return "ae";
}
-const char* operator ""_\u01532 (const char *s, unsigned long)
+const char* operator ""_\u01532 (const char *s, size_t)
{
return "oe";
}
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-3.C b/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-3.C
index 11292e4..cb8a957 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-3.C
@@ -1,9 +1,11 @@
// { dg-do compile { target c++11 } }
+#include <cstddef>
+using namespace std;
// Check that we do not look for poisoned identifier when it is a suffix.
int _ħ;
#pragma GCC poison _ħ
-const char * operator ""_ħ (const char *, unsigned long); // { dg-bogus "poisoned" }
+const char * operator ""_ħ (const char *, size_t); // { dg-bogus "poisoned" }
bool operator ""_ħ (unsigned long long x); // { dg-bogus "poisoned" }
bool b = 1_ħ; // { dg-bogus "poisoned" }
const char *x = "hbar"_ħ; // { dg-bogus "poisoned" }
@@ -11,5 +13,5 @@ const char *x = "hbar"_ħ; // { dg-bogus "poisoned" }
/* Ideally, we should not warn here either, but this is not implemented yet. This
syntax has been deprecated for C++23. */
#pragma GCC poison _ħ2
-const char * operator "" _ħ2 (const char *, unsigned long); // { dg-bogus "poisoned" "" { xfail *-*-*} }
+const char * operator "" _ħ2 (const char *, size_t); // { dg-bogus "poisoned" "" { xfail *-*-*} }
const char *x2 = "hbar2"_ħ2; // { dg-bogus "poisoned" }