#ifndef NO_TRAMPOLINES | |
int f0(int (*fn)(int *), int *p) | |
{ | |
return (*fn) (p); | |
} | |
int f1(void) | |
{ | |
int i = 0; | |
int f2(int *p) | |
{ | |
i = 1; | |
return *p + 1; | |
} | |
return f0(f2, &i); | |
} | |
#endif | |
int main() | |
{ | |
#ifndef NO_TRAMPOLINES | |
if (f1() != 2) | |
abort (); | |
#endif | |
return 0; | |
} |