1 /* { dg-require-effective-target trampolines } */
2 
3 void f1 (void *);
4 void f3 (void *, void (*)(void *));
5 void f2 (void *);
6 
foo(void * a,int b)7 int foo (void *a, int b)
8 {
9   if (!b)
10     {
11       f1 (a);
12       return 1;
13     }
14   if (b)
15     {
16       void bar (void *c)
17       {
18 	if (c == a)
19 	  f2 (c);
20       }
21       f3 (a, bar);
22     }
23   return 0;
24 }
25