]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/testsuite/gdb.base/pointers.c
* elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.base / pointers.c
CommitLineData
c906108c
SS
1
2#if !defined (__STDC__) && !defined (_AIX)
3#define signed /**/
4#endif
5
6char v_char;
7signed char v_signed_char;
8unsigned char v_unsigned_char;
9
10short v_short;
11signed short v_signed_short;
12unsigned short v_unsigned_short;
13
14int v_int;
15signed int v_signed_int;
16unsigned int v_unsigned_int;
17
18long v_long;
19signed long v_signed_long;
20unsigned long v_unsigned_long;
21
22float v_float;
23double v_double;
24
25
26
27char *v_char_pointer;
28signed char *v_signed_char_pointer;
29unsigned char *v_unsigned_char_pointer;
30
31short *v_short_pointer;
32signed short *v_signed_short_pointer;
33unsigned short *v_unsigned_short_pointer;
34
35int *v_int_pointer;
36int *v_int_pointer2;
37signed int *v_signed_int_pointer;
38unsigned int *v_unsigned_int_pointer;
39
40long *v_long_pointer;
41signed long *v_signed_long_pointer;
42unsigned long *v_unsigned_long_pointer;
43
44float *v_float_pointer;
45double *v_double_pointer;
46
47
48char v_char_array[2];
49signed char v_signed_char_array[2];
50unsigned char v_unsigned_char_array[2];
51
52short v_short_array[2];
53signed short v_signed_short_array[2];
54unsigned short v_unsigned_short_array[2];
55
56int v_int_array[2];
57signed int v_signed_int_array[2];
58unsigned int v_unsigned_int_array[2];
59
60long v_long_array[2];
61signed long v_signed_long_array[2];
62unsigned long v_unsigned_long_array[2];
63
64float v_float_array[2];
65double v_double_array[2];
66
67int matrix[2][3] = { { 0, 1, 2}, {3, 4, 5}};
68int (*rptr)[3] = matrix;
69
70float ** ptr_to_ptr_to_float;
71
72int y;
73
f3134b88
TT
74
75typedef long k[5];
76
77typedef struct {
78 k array_variable;
79} S;
80
81S instance;
82
b9593231
KB
83/* Do nothing function used for forcing some of the above variables to
84 be referenced by the program source. If the variables are not
85 referenced, some linkers will remove the symbol from the symbol
86 table making it impossible to refer to the variable in gdb. */
87void usevar (void *var) {}
88
c906108c
SS
89int main ()
90{
b9593231
KB
91 void dummy();
92 int more_code();
93
c906108c 94 dummy();
adf40b2e
JM
95
96 more_code ();
97
b9593231
KB
98 usevar (&v_int_pointer2);
99 usevar (&rptr);
100 usevar (&y);
101
c906108c
SS
102 return 0;
103
104}
105
106void dummy()
107{
108
109
110 v_char = 0;
111 v_signed_char = 1;
112 v_unsigned_char = 2;
113
114 v_short = 3;
115 v_signed_short = 4;
116 v_unsigned_short = 5;
117
118 v_int = 6;
119 v_signed_int = 7;
120 v_unsigned_int = 8;
121
122 v_long = 9;
123 v_signed_long = 10;
124 v_unsigned_long = 11;
125
126 v_float = 100.0;
127 v_double = 200.0;
128
129
130
131 v_char_pointer = &v_char;
132 v_signed_char_pointer = &v_signed_char;
133 v_unsigned_char_pointer = &v_unsigned_char;
134
135 v_short_pointer = &v_short;
136 v_signed_short_pointer = &v_signed_short;
137 v_unsigned_short_pointer = &v_unsigned_short;
138
139 v_int_pointer = &v_int;
140 v_signed_int_pointer = &v_signed_int;
141 v_unsigned_int_pointer = &v_unsigned_int;
142
143 v_long_pointer = &v_long;
144 v_signed_long_pointer = &v_signed_long;
145 v_unsigned_long_pointer = &v_unsigned_long;
146
147 v_float_pointer = &v_float;
148 v_double_pointer = &v_double;
149
150 ptr_to_ptr_to_float = &v_float_pointer;
151
152
153 v_char_array[0] = v_char;
154 v_signed_char_array[0] = v_signed_char;
155 v_unsigned_char_array[0] = v_unsigned_char;
156
157 v_short_array[0] = v_short;
158 v_signed_short_array[0] = v_signed_short;
159 v_unsigned_short_array[0] = v_unsigned_short;
160
161 v_int_array[0] = v_int;
162 v_int_array[1] = v_int * 3;
163
164 v_signed_int_array[0] = v_signed_int;
165 v_unsigned_int_array[0] = v_unsigned_int;
166
167 v_long_array[0] = v_long;
168 v_signed_long_array[0] = v_signed_long;
169 v_unsigned_long_array[0] = v_unsigned_long;
170
171 v_float_array[0] = v_float;
172 v_double_array[0] = v_double;
173
174}
175
adf40b2e
JM
176void marker1 ()
177{
178}
c906108c 179
adf40b2e
JM
180int more_code()
181{
182 char C, *pC, **ppC, ***pppC, ****ppppC, *****pppppC, ******ppppppC;
183 unsigned char UC, *pUC;
184 short S, *pS;
185 unsigned short US, *pUS;
186 int I, *pI;
187 unsigned int UI, *pUI;
188 long L, *pL;
189 unsigned long UL, *pUL;
190 float F, *pF;
191 double D, *pD;
192
193 C = 'A';
194 UC = 21;
195 S = -14;
196 US = 7;
197 I = 102;
198 UI = 1002;
199 L = -234;
200 UL = 234;
201 F = 1.25E10;
1b3c5540 202 D = -1.25E-37;
adf40b2e
JM
203 pC = &C;
204 ppC = &pC;
205 pppC = &ppC;
206 ppppC = &pppC;
207 pppppC = &ppppC;
208 ppppppC = &pppppC;
209 pUC = &UC;
210 pS = &S;
211 pUS = &US;
212 pI = &I;
213 pUI = &UI;
214 pL = &L;
215 pUL = &UL;
216 pF = &F;
217 pD = &D;
218
219 marker1();
220 return 0;
221}