| /* PR optimization/6177 | |
| This testcase ICEd because expr.c did not expect to see a CONCAT | |
| as array rtl. */ | |
| extern void abort (void); | |
| extern void exit (int); | |
| __complex__ float foo (void) | |
| { | |
| __complex__ float f[1]; | |
| __real__ f[0] = 1.0; | |
| __imag__ f[0] = 1.0; | |
| f[0] = __builtin_conjf (f[0]); | |
| return f[0]; | |
| } | |
| int main (void) | |
| { | |
| __complex__ double d[1]; | |
| d[0] = foo (); | |
| if (__real__ d[0] != 1.0 | |
| || __imag__ d[0] != -1.0) | |
| abort (); | |
| exit (0); | |
| } |