/* { dg-do run { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-options "-O2 -fselective-scheduling2" } */ struct S { double i[2]; }; void __attribute__ ((noinline)) checkcd (struct S x) { if (x.i[0] != 7.0 || x.i[1] != 8.0) __builtin_abort (); } void __attribute__ ((noinline)) testvacd (int n, ...) { int i; __builtin_va_list ap; __builtin_va_start (ap, n); for (i = 0; i < n; i++) { struct S t = __builtin_va_arg (ap, struct S); checkcd (t); } __builtin_va_end (ap); } void testitcd (void) { struct S x = { { 7.0, 8.0 } }; testvacd (2, x, x); } int main () { testitcd (); return 0; }