1/* PR target/39678 */
2/* { dg-do run } */
3/* { dg-options "-Wno-psabi" } */
4struct Y {};
5struct X {
6  struct Y y;
7  __complex__ float val;
8};
9
10struct X __attribute__((noinline))
11foo (float *p)
12{
13  struct X x;
14  __real x.val = p[0];
15  __imag x.val = p[1];
16  return x;
17}
18extern "C" void abort (void);
19float a[2] = { 3., -2. };
20int main()
21{
22  struct X x = foo(a);
23  if (__real x.val != 3. || __imag x.val != -2.)
24    abort ();
25  return 0;
26}
27