| /* { dg-do run { target fpic } } */ |
| /* { dg-options "-O2 -fpic" } */ |
| |
| extern void exit (int); |
| |
| void foo1(int a, char *b, int c) |
| { |
| c =a+c+234; |
| } |
| |
| int foo2(int d) |
| { |
| return d*d; |
| } |
| |
| int bar1, bar2, bar3; |
| char * bar4; |
| |
| int main(void) { |
| int h; |
| bar1 = foo2(1); |
| bar2 = foo2(1); |
| |
| h = foo2(1); |
| foo1(1, "a", foo2(1)); |
| foo1(bar1, "a", foo2(1)); |
| foo2(1); |
| |
| h = foo2(1); |
| bar3 = 1; |
| bar4 = "a"; |
| foo1(1, "n", foo2(1)); |
| foo1(1, "o", foo2(1)); |
| foo1(1, "p", foo2(1)); |
| foo1(bar1, "a", foo2(1)); |
| |
| bar3 = h; |
| bar4 = "b"; foo1(bar1, "b", foo2(1)); |
| foo1(1, "q", foo2(1)); |
| bar4 = "c"; foo1(1, "c", foo2(1)); |
| bar4 = "d"; foo1(1, "d", foo2(1)); |
| bar4 = "e"; foo1(1, "e", foo2(1)); |
| bar4 = "f"; foo1(1, "f", foo2(1)); |
| bar4 = "g"; foo1(1, "g", foo2(1)); |
| bar4 = "h"; foo1(1, "h", foo2(1)); |
| bar4 = "i"; foo1(1, "i", foo2(1)); |
| bar4 = "j"; foo1(1, "j", foo2(1)); |
| bar4 = "k"; foo1(1, "k", foo2(1)); |
| bar4 = "l"; foo1(1, "l", foo2(1)); |
| bar4 = "m"; |
| foo1(bar2, "m", foo2(1)); |
| exit(0); |
| } |