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  
      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  }