stack-fcall.c revision e4113974893293c82f177fe4195cac0a5b70465a
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 pid_t (* volatile g)(void) = getpid;
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