OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.base/] [scope0.c] - Blame information for rev 853

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.