2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / g++.dg / cpp2a / constexpr-virtual6.C
blobece5e703c32ec0f18c32f5800eb2af72a1b6cc83
1 // P1064R0
2 // { dg-do compile }
3 // { dg-options "-std=c++2a" }
5 struct X1
7   constexpr virtual X1 const *f() const { return this; }
8 };
10 struct Y
12   int m = 0;
15 struct X2: public Y, public X1
17   constexpr virtual X2 const *f() const { return this; }
20 constexpr X1 x1;
21 static_assert(x1.f() == &x1);
23 constexpr X2 x2;
24 constexpr X1 const& r2 = x2;
25 static_assert(r2.f() == &r2);