testsuite: update mangling
[official-gcc.git] / gcc / testsuite / g++.dg / cpp2a / consteval18.C
blob586feded505c6ab7489af9b3c69b10c49a82bde0
1 // PR c++/96994
2 // { dg-do run { target c++20 } }
4 struct A { consteval A () { i = 1; } consteval A (int x) : i (x) {} int i = 0; };
5 struct B { constexpr B () { i = 1; } constexpr B (int x) : i (x) {} int i = 0; };
6 A const a;
7 constexpr A b;
8 B const c;
9 A const constinit d;
10 A const e = 2;
11 constexpr A f = 3;
12 B const g = 4;
13 A const constinit h = 5;
14 A i;
15 B j;
16 A k = 6;
17 B l = 7;
18 static_assert (b.i == 1 && f.i == 3);
20 int
21 main()
23   if (a.i != 1 || c.i != 1 || d.i != 1 || e.i != 2 || g.i != 4 || h.i != 5
24       || i.i != 1 || j.i != 1 || k.i != 6 || l.i != 7)
25     __builtin_abort ();