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.
This commit is contained in:
parent
38daaaa914
commit
b2cfe5233e
2 changed files with 9 additions and 6 deletions
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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" }
|
||||
|
|
Loading…
Add table
Reference in a new issue