Commit | Line | Data |
---|---|---|
d8045f23 NC |
1 | extern int printf (const char *, ...); |
2 | ||
3 | extern int library_func1 (void); | |
4 | extern int library_func2 (void); | |
5 | extern int global; | |
6 | ||
7 | int | |
8 | main (void) | |
9 | { | |
10 | int res = -1; | |
11 | ||
12 | res += library_func1 (); | |
13 | res += library_func2 (); | |
14 | ||
15 | switch (res) | |
16 | { | |
17 | case 0: | |
18 | if (global) | |
19 | printf ("ifunc working correctly\n"); | |
20 | else | |
21 | { | |
22 | printf ("wrong value returned by library_func2\n"); | |
23 | res = -1; | |
24 | } | |
25 | break; | |
26 | ||
27 | case 1: | |
28 | if (global) | |
29 | printf ("wrong value returned by library_func2\n"); | |
30 | else | |
31 | { | |
32 | printf ("ifunc working correctly\n"); | |
33 | res = 0; | |
34 | } | |
35 | break; | |
36 | ||
37 | case 4: | |
38 | printf ("non-ifunc testcase\n"); | |
39 | break; | |
40 | ||
41 | default: | |
42 | printf ("ifunc function not evaluated at run-time, res = %x\n", res); | |
43 | break; | |
44 | } | |
45 | return res; | |
46 | } |