Update copyright year range in all GDB files
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / scope0.c
CommitLineData
c906108c
SS
1static int filelocal = 1; /* In Data section */
2static int filelocal_bss; /* In BSS section */
3#ifndef __STDC__
4#define const /**/
5#endif
6static const int filelocal_ro = 201; /* In Read-Only Data section */
7
085dd6e6
JM
8extern void init1();
9extern void foo();
10
11int autovars (int bcd, int abc);
12int localscopes (int x);
13int useit (int val);
0219b378 14int useitp (const int *val);
085dd6e6
JM
15void init0();
16void marker1 ();
17void marker2 ();
18void marker3 ();
19void marker4 ();
20
21int main ()
c906108c 22{
c906108c
SS
23 init0 ();
24 foo ();
25 autovars (5, 6);
26 localscopes (0);
dc3a371e
PA
27
28 return 0;
c906108c
SS
29}
30
31/* On some systems, such as AIX, unreferenced variables are deleted
0219b378
DJ
32 from the executable. On other compilers, such as ARM RealView,
33 const variables without their address taken are deleted. */
085dd6e6 34void usestatics ()
c906108c 35{
0219b378
DJ
36 useitp (&filelocal);
37 useitp (&filelocal_bss);
38 useitp (&filelocal_ro);
c906108c
SS
39}
40
085dd6e6 41void init0 ()
c906108c
SS
42{
43 filelocal_bss = 101;
44 init1 ();
45}
46
47/* This is to derail optimizer in localscopes.
48 Return 1 + 2 + . . . + N. */
085dd6e6
JM
49int
50sum_upto (int n)
c906108c
SS
51{
52 int i;
53 int retval = 0;
54
55 for (i = 1; i <= n; ++i)
56 retval += i;
57 return retval;
58}
59
085dd6e6
JM
60int
61useit (int val)
c906108c
SS
62{
63 static int usedval;
64
65 usedval = val;
66 return val + sum_upto (0);
67}
68
0219b378
DJ
69int
70useitp (const int *val)
0219b378
DJ
71{
72 static int usedval;
73
74 usedval = *val;
75 return *val + sum_upto (0);
76}
77
085dd6e6
JM
78int
79autovars (int bcd, int abc)
c906108c
SS
80{
81 int i0 = useit (0), i1 = useit (1), i2 = useit (2);
82 int i3 = useit (3), i4 = useit (4), i5 = useit (5);
83 int i6 = useit (6), i7 = useit (7), i8 = useit (8);
84 int i9 = useit (9), i10 = useit (10), i11 = useit (11);
85 int i12 = useit (12), i13 = useit (13), i14 = useit (14);
86 int i15 = useit (15), i16 = useit (16), i17 = useit (17);
87 int i18 = useit (18), i19 = useit (19), i20 = useit (20);
88 int i21 = useit (21), i22 = useit (22), i23 = useit (23);
89 int i24 = useit (24), i25 = useit (25), i26 = useit (26);
90 int i27 = useit (27), i28 = useit (28), i29 = useit (29);
91 int i30 = useit (30), i31 = useit (31), i32 = useit (32);
92 int i33 = useit (33), i34 = useit (34), i35 = useit (35);
93 int i36 = useit (36), i37 = useit (37), i38 = useit (38);
94 int i39 = useit (39), i40 = useit (40), i41 = useit (41);
95 int i42 = useit (42), i43 = useit (43), i44 = useit (44);
96 int i45 = useit (45), i46 = useit (46), i47 = useit (47);
97 int i48 = useit (48), i49 = useit (49), i50 = useit (50);
98 int i51 = useit (51), i52 = useit (52), i53 = useit (53);
99 int i54 = useit (54), i55 = useit (55), i56 = useit (56);
100 int i57 = useit (57), i58 = useit (58), i59 = useit (59);
101 int i60 = useit (60), i61 = useit (61), i62 = useit (62);
102 int i63 = useit (63), i64 = useit (64), i65 = useit (65);
103 int i66 = useit (66), i67 = useit (67), i68 = useit (68);
104 int i69 = useit (69), i70 = useit (70), i71 = useit (71);
105 int i72 = useit (72), i73 = useit (73), i74 = useit (74);
106 int i75 = useit (75), i76 = useit (76), i77 = useit (77);
107 int i78 = useit (78), i79 = useit (79), i80 = useit (80);
108 int i81 = useit (81), i82 = useit (82), i83 = useit (83);
109 int i84 = useit (84), i85 = useit (85), i86 = useit (86);
110 int i87 = useit (87), i88 = useit (88), i89 = useit (89);
111 int i90 = useit (90), i91 = useit (91), i92 = useit (92);
112 int i93 = useit (93), i94 = useit (94), i95 = useit (95);
113 int i96 = useit (96), i97 = useit (97), i98 = useit (98);
114 int i99 = useit (99);
115
116 /* Use all 100 of the local variables to derail agressive optimizers. */
117
118 useit ( i0); useit ( i1); useit ( i2); useit ( i3); useit ( i4);
119 useit ( i5); useit ( i6); useit ( i7); useit ( i8); useit ( i9);
120 useit (i10); useit (i11); useit (i12); useit (i13); useit (i14);
121 useit (i15); useit (i16); useit (i17); useit (i18); useit (i19);
122 useit (i20); useit (i21); useit (i22); useit (i23); useit (i24);
123 useit (i25); useit (i26); useit (i27); useit (i28); useit (i29);
124 useit (i30); useit (i31); useit (i32); useit (i33); useit (i34);
125 useit (i35); useit (i36); useit (i37); useit (i38); useit (i39);
126 useit (i40); useit (i41); useit (i42); useit (i43); useit (i44);
127 useit (i45); useit (i46); useit (i47); useit (i48); useit (i49);
128 useit (i50); useit (i51); useit (i52); useit (i53); useit (i54);
129 useit (i55); useit (i56); useit (i57); useit (i58); useit (i59);
130 useit (i60); useit (i61); useit (i62); useit (i63); useit (i64);
131 useit (i65); useit (i66); useit (i67); useit (i68); useit (i69);
132 useit (i70); useit (i71); useit (i72); useit (i73); useit (i74);
133 useit (i75); useit (i76); useit (i77); useit (i78); useit (i79);
134 useit (i80); useit (i81); useit (i82); useit (i83); useit (i84);
135 useit (i85); useit (i86); useit (i87); useit (i88); useit (i89);
136 useit (i90); useit (i91); useit (i92); useit (i93); useit (i94);
137 useit (i95); useit (i96); useit (i97); useit (i98); useit (i99);
138
139 useit (abc); useit (bcd);
140
141 marker1 ();
142 return i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + i10
143 + i11 + i12 + i13 + i14 + i15 + i16 + i17 + i18 + i19 + i20
144 + i21 + i22 + i23 + i24 + i25 + i26 + i27 + i28 + i29 + i30
145 + i31 + i32 + i33 + i34 + i35 + i36 + i37 + i38 + i39 + i40
146 + i41 + i42 + i43 + i44 + i45 + i46 + i47 + i48 + i49 + i50
147 + i51 + i52 + i53 + i54 + i55 + i56 + i57 + i58 + i59 + i60
148 + i61 + i62 + i63 + i64 + i65 + i66 + i67 + i68 + i69 + i70
149 + i71 + i72 + i73 + i74 + i75 + i76 + i77 + i78 + i79 + i80
150 + i81 + i82 + i83 + i84 + i85 + i86 + i87 + i88 + i89 + i90
151 + i91 + i92 + i93 + i94 + i95 + i96 + i97 + i98 + i99 + abc + bcd;
152}
153
085dd6e6
JM
154int
155localscopes (int x)
c906108c
SS
156{
157 int localval;
158 int retval;
159 int i;
160
161 localval = 0;
162 useit (localval);
163
164 {
165 int localval = x + 4 + sum_upto (3); /* 10 */
166 int localval1 = x + 5 + sum_upto (3); /* 11 */
167
168 useit (localval);
169 useit (localval1);
170 marker2 ();
171 {
172 int localval = localval1 + 3 + sum_upto (3); /* 20 */
173 int localval2 = localval1 + sum_upto (1); /* 12 */
174 useit (localval);
175 useit (localval2);
176 marker3 ();
177 {
178 int localval = localval2 + 3 + sum_upto (5); /* 30 */
179 int localval3 = localval2 + sum_upto (1); /* 13 */
180 useit (localval);
181 useit (localval3);
182 marker4 ();
183 retval = x + localval1 + localval2 + localval3;
184 }
185 }
186 }
187 return retval;
188}
189
085dd6e6
JM
190void marker1 () {}
191void marker2 () {}
192void marker3 () {}
193void marker4 () {}
This page took 2.729606 seconds and 4 git commands to generate.