]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/g++.dg/cpp2a/nontype-class6.C
Implement UDL changes from P0732R2.
[thirdparty/gcc.git] / gcc / testsuite / g++.dg / cpp2a / nontype-class6.C
1 // { dg-do compile { target c++2a } }
2
3 struct A {
4 char ar[10];
5 constexpr A (const char *p) : ar()
6 {
7 for (int i = 0; i < 10; ++i)
8 if ((ar[i] = p[i]) == 0)
9 break;
10 }
11 // auto operator<=> (const A&) = default;
12 };
13
14 template <A a> constexpr A operator "" _sh() { return a; }
15
16 constexpr auto a = "foo"_sh;
17 static_assert (a.ar[0] == 'f');