1 /* { dg-do run } */
2 /* { dg-options "-O" } */
3 
4 struct A
5 {
6   int b;
7   int c:2;
8 };
9 
10 struct B
11 {
12   int e;
13   struct A f;
14 } g = {0, {0, 1}}, j;
15 
16 struct A *h = &g.f;
17 
main()18 int main ()
19 {
20   struct A k;
21   struct B l = j, i = l;
22   if (!i.f.b)
23     k = i.f;
24   *h = k;
25   if (g.f.c != 0)
26     __builtin_abort ();
27   return 0;
28 }
29