/* PR middle-end/12210 */ /* Origin: Ossadchy Yury A. */ /* This used to fail on i686 because the argument was not copied to the right location by __builtin_apply after the direct call. */ /* { dg-do run } */ #define INTEGER_ARG 5 extern void abort(void); void foo(int arg) { if (arg != INTEGER_ARG) abort(); } void bar(int arg) { foo(arg); __builtin_apply(foo, __builtin_apply_args(), 16); } int main(void) { bar(INTEGER_ARG); return 0; }