1 /* { dg-do compile } */
2 
3 typedef long
4 (*bla)(int *node);
5 void T(int *);
6 long F3(void *);
7 
F2(void * tree,long blk,bla after_node_func)8 static long F2(void *tree, long blk, bla after_node_func)
9 {
10  long call_result = 0;
11  int *node;
12 
13 
14  if (call_result = after_node_func(node))
15   goto error_free_node;
16 
17  T(node);
18  return 0;
19 
20 error_free_node:
21  T(node);
22 error:
23  return call_result;
24 }
25 
F1(void * tree)26 long F1(void *tree)
27 {
28  return F2(tree, F3(tree), (void *)0);
29 }
30