PR c/64856
[official-gcc.git] / gcc / testsuite / gcc.dg / complex-3.c
blob54ec82c0d1aa8070b42dc707d75294986154d40d
1 /* Verify that rtl expansion cleanup doesn't get too aggressive about
2 code dealing with complex CONCATs. */
3 /* { dg-do run } */
4 /* { dg-options "-O -fno-tree-sra" } */
6 extern void abort (void);
7 extern void exit (int);
9 __complex__ float foo (void)
11 __complex__ float f[1];
12 __real__ f[0] = 1;
13 __imag__ f[0] = 1;
14 f[0] = __builtin_conjf (f[0]);
15 return f[0];
18 int main (void)
20 __complex__ double d[1];
21 d[0] = foo ();
22 if (__real__ d[0] != 1 || __imag__ d[0] != -1)
23 abort ();
24 exit (0);