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;
fn1()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 
main()22 int main() {
23   fn1();
24   if (b.f4 != 0)
25     __builtin_abort ();
26   return 0;
27 }
28