1  /* { dg-do run } */
       2  /* { dg-options "-O" } */
       3  
       4  struct S0 {
       5    signed f4;
       6    signed f9 : 5;
       7  } a[6][5], b = {2}
       8  
       9  ;
      10  int c, d;
      11  int fn1() {
      12    struct S0 e[5][6];
      13    struct S0 f;
      14    b = f = e[2][5] = a[5][0];
      15    if (d)
      16      ;
      17    else
      18      return f.f9;
      19    e[c][45] = a[4][4];
      20  }
      21  
      22  int main() {
      23    fn1();
      24    if (b.f4 != 0)
      25      __builtin_abort ();
      26    return 0;
      27  }