1 /* { dg-do compile } */
2 /* { dg-options "-O -march=z196 -m64 -w" } */
3 union U { int r; float f; };
4 struct A {
5   int a;
6     union U b[64];
7     };
8     double foo (double);
9 
10 void
bar(struct A * z,int x)11 bar (struct A *z, int x)
12 {
13   union U y;
14   y.f = foo (z->b[x].f);
15   z->a = y.r ? 4 : y.r;
16 }
17