1 /* { dg-do compile } */
2 
3 struct T;
4 typedef void F(void);
5 
aux(void (* x)())6 F* aux(void (*x)())
7 {
8   return x;
9 }
10 
11 void make_mess (int);
12 
13 F*
get_funloc(void (* x)(int),F * (* y)())14 get_funloc (void (*x)(int), F* (*y)())
15 {
16   return y(x);
17 }
18 
19 F*
foo()20 foo ()
21 {
22   return get_funloc (make_mess, aux);
23 }
24