PR c++/86728 - C variadic generic lambda.
[official-gcc.git] / gcc / testsuite / g++.dg / init / aggr2.C
blob97dbeb6190b80da608ce80ab9cf7369c6aa7278f
1 // PR c++/15172
2 // { dg-do run }
4 extern "C" int printf (const char *, ...);
5 extern "C" void abort ();
7 struct A {
8   static A* p;
10   A() { p = this; }
11   A(const A&);
12   ~A() { if (this != p) abort (); }
13   void print () { }
16 A* A::p;
18 struct B {
19   A a;
22 B b = { A () };
24 struct A2 {
25   static A2* p;
27   A2() { p = this; }
28   A2(const A2&);
29   ~A2() { if (this != p) abort (); }
30   void print () { }
33 A2* A2::p;
35 struct B2 {
36   A2 a2;
39 int main () {
40   b.a.print ();
41   {
42     B2 b2 = { A2() };
43     b2.a2.print ();
44   }
45
46