stack-fcall.c revision 9682107053968402da7afca7e82e2c6281d05518
1#include <unistd.h>
2#include <sys/types.h>
3
4/* Use "volatile" to avoid compiler optimization. */
5
6int f1(int i)
7{
8	static uid_t (* volatile g)(void) = getuid;
9	return g() + i;
10}
11
12int f0(volatile int i)
13{
14	static int (* volatile g)(int) = f1;
15	return g(i) - i;
16}
17
18int main(int argc, char** argv)
19{
20	static int (* volatile g)(int) = f0;
21	g(argc);
22	return 0;
23}
24