(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
complex-3.c
       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" } */
       5  
       6  extern void abort (void);
       7  extern void exit (int);
       8  
       9  __complex__ float foo (void)
      10  {
      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];
      16  }
      17  
      18  int main (void)
      19  {
      20    __complex__ double d[1];
      21    d[0] = foo ();
      22    if (__real__ d[0] != 1 || __imag__ d[0] != -1)
      23      abort ();
      24    exit (0);
      25  }