blob: 1c66fefa77b6c1e31abfdcee17de71051e6160e5 [file] [log] [blame]
Masatake YAMATO96821072014-05-14 13:16:29 +09001#include <unistd.h>
2#include <sys/types.h>
3
4/* Use "volatile" to avoid compiler optimization. */
5
6int f1(int i)
7{
Dmitry V. Levine4113972014-06-05 14:37:04 +00008 static pid_t (* volatile g)(void) = getpid;
Masatake YAMATO96821072014-05-14 13:16:29 +09009 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}