Masatake YAMATO | 9682107 | 2014-05-14 13:16:29 +0900 | [diff] [blame^] | 1 | #include <unistd.h> |
2 | #include <sys/types.h> | ||||
3 | |||||
4 | /* Use "volatile" to avoid compiler optimization. */ | ||||
5 | |||||
6 | int f1(int i) | ||||
7 | { | ||||
8 | static uid_t (* volatile g)(void) = getuid; | ||||
9 | return g() + i; | ||||
10 | } | ||||
11 | |||||
12 | int f0(volatile int i) | ||||
13 | { | ||||
14 | static int (* volatile g)(int) = f1; | ||||
15 | return g(i) - i; | ||||
16 | } | ||||
17 | |||||
18 | int main(int argc, char** argv) | ||||
19 | { | ||||
20 | static int (* volatile g)(int) = f0; | ||||
21 | g(argc); | ||||
22 | return 0; | ||||
23 | } |