/* This used to segfault on SPARC 64-bit at runtime because the stack pointer was clobbered by the function call. */ /* { dg-do run } */ #include union U { long l1[2]; }; union U u; void foo (int z, ...) { int i; va_list ap; va_start(ap,z); i = va_arg(ap, int); va_end(ap); } int main(void) { foo (1, 1, 1, 1, 1, u); return 0; }