1 // PR c++/84602 ICE 2 // { dg-additional-options "-fpermissive" } 3 4 struct X { 5 union { 6 class a; // { dg-warning "public non-static data member" } 7 }; 8 a *b; 9 }; 10 X::a *a; 11 12 struct Y { 13 union { 14 class a; // { dg-warning "public non-static data member" } 15 int a; 16 }; 17 class a *b; 18 }; 19 20 class Y::a *y; 21 22 struct Z { 23 union { 24 // Force MEMBER_VEC creation 25 int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10; 26 class a; // { dg-warning "public non-static data member" } 27 int a; 28 }; 29 class a *b; 30 }; 31 32 class Z::a *z; 33