summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/980523-1.c
blob: 970b57c597cb8042268bd3015c0986cb9f51caa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* { 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);
}