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