]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/tls/nonpic-1.c
gcc/
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / tls / nonpic-1.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftls-model=initial-exec" } */
3
4 extern __thread long e1;
5 extern __thread int e2;
6 static __thread long s1;
7 static __thread int s2;
8
9 long *ae1 (void)
10 {
11 return &e1;
12 }
13
14 int *ae2 (void)
15 {
16 return &e2;
17 }
18
19 long *as1 (void)
20 {
21 return &s1;
22 }
23
24 int *as2 (void)
25 {
26 return &s2;
27 }
28
29 long ge1 (void)
30 {
31 return e1;
32 }
33
34 int ge2 (void)
35 {
36 return e2;
37 }
38
39 long gs1 (void)
40 {
41 return s1;
42 }
43
44 int gs2 (void)
45 {
46 return s2;
47 }
48
49 long ge3 (void)
50 {
51 return e1 + e2;
52 }
53
54 long gs3 (void)
55 {
56 return s1 + s2;
57 }
58
59 long ge4 (void)
60 {
61 if (0)
62 return e1;
63 return e2;
64 }
65
66 long gs4 (void)
67 {
68 if (0)
69 return s1;
70 return s2;
71 }