1// PR target/59163
2// { dg-do run }
3
4struct A { float a[4]; };
5struct B { int b; A a; };
6
7__attribute__((noinline, noclone)) void
8bar (A &a)
9{
10  if (a.a[0] != 36.0f || a.a[1] != 42.0f || a.a[2] != 48.0f || a.a[3] != 54.0f)
11    __builtin_abort ();
12}
13
14__attribute__((noinline, noclone)) void
15foo (A &a)
16{
17  int i;
18  A c = a;
19  for (i = 0; i < 4; i++)
20    c.a[i] *= 6.0f;
21  a = c;
22  bar (a);
23}
24
25int
26main ()
27{
28  B b = { 5, { 6, 7, 8, 9 } };
29  foo (b.a);
30}
31