1 /* { dg-do run } */ 2 /* { dg-options "-O2" } */ 3 4 __attribute__ ((noinline)) direct(int x,...)5double direct(int x, ...) 6 { 7 return x*x; 8 } 9 10 __attribute__ ((noinline)) broken(double (* indirect)(int x,...),int v)11double broken(double (*indirect)(int x, ...), int v) 12 { 13 return indirect(v); 14 } 15 main()16int main () 17 { 18 double d1, d2; 19 int i = 2; 20 d1 = broken (direct, i); 21 if (d1 != i*i) 22 { 23 __builtin_abort (); 24 } 25 return 0; 26 } 27 28