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