1 /* { dg-do run } */
2 /* { dg-require-effective-target trampolines } */
3 /* { dg-additional-options "-fipa-pta" } */
4 
5 void callme (void (*callback) (void));
6 
7 int
main(void)8 main (void)
9 {
10   int ok = 0;
11   void callback (void) { ok = 1; }
12 
13   callme (&callback);
14 
15   if (!ok)
16     __builtin_abort ();
17   return 0;
18 }
19 
20 __attribute__((noinline, noclone))
21 void
callme(void (* callback)(void))22 callme (void (*callback) (void))
23 {
24   (*callback) ();
25 }
26