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