(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr45652.c
       1  /* { dg-do run { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
       2  /* { dg-options "-O2 -fselective-scheduling2" } */
       3  
       4  struct S {
       5    double i[2];
       6  };
       7  
       8  void __attribute__ ((noinline)) checkcd (struct S x)
       9  {
      10    if (x.i[0] != 7.0 || x.i[1] != 8.0)
      11      __builtin_abort ();
      12  }
      13  
      14  void __attribute__ ((noinline)) testvacd (int n, ...)
      15  {
      16    int i;
      17    __builtin_va_list ap;
      18    __builtin_va_start (ap, n);
      19    for (i = 0; i < n; i++)
      20      {
      21        struct S t = __builtin_va_arg (ap, struct S);
      22        checkcd (t);
      23      }
      24    __builtin_va_end (ap);
      25  }
      26  
      27  void
      28  testitcd (void)
      29  {
      30    struct S x = { { 7.0, 8.0 } };
      31    testvacd (2, x, x);
      32  }
      33  
      34  int
      35  main ()
      36  {
      37    testitcd ();
      38    return 0;
      39  }