/* { dg-do run } */ /* { dg-options "-O2 -march=i686 -mtune=generic -fstack-clash-protection" } */ /* { dg-require-effective-target ia32 } */ __attribute__ ((noinline, noclone, weak, regparm (3))) int f1 (long arg0, int (*pf) (long, void *)) { unsigned char buf[32768]; return pf (arg0, buf); } __attribute__ ((noinline, noclone, weak)) int f2 (long arg0, void *ignored) { if (arg0 != 17) __builtin_abort (); return 19; } int main (void) { if (f1 (17, f2) != 19) __builtin_abort (); return 0; }