[gdb/testsuite] Reduce errors after gdb exit in default_gdb_start
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / pointers.c
1
2 #if !defined (__STDC__) && !defined (_AIX)
3 #define signed /**/
4 #endif
5
6 char v_char;
7 signed char v_signed_char;
8 unsigned char v_unsigned_char;
9
10 short v_short;
11 signed short v_signed_short;
12 unsigned short v_unsigned_short;
13
14 int v_int;
15 signed int v_signed_int;
16 unsigned int v_unsigned_int;
17
18 long v_long;
19 signed long v_signed_long;
20 unsigned long v_unsigned_long;
21
22 float v_float;
23 double v_double;
24
25
26
27 char *v_char_pointer;
28 signed char *v_signed_char_pointer;
29 unsigned char *v_unsigned_char_pointer;
30
31 short *v_short_pointer;
32 signed short *v_signed_short_pointer;
33 unsigned short *v_unsigned_short_pointer;
34
35 int *v_int_pointer;
36 int *v_int_pointer2;
37 signed int *v_signed_int_pointer;
38 unsigned int *v_unsigned_int_pointer;
39
40 long *v_long_pointer;
41 signed long *v_signed_long_pointer;
42 unsigned long *v_unsigned_long_pointer;
43
44 float *v_float_pointer;
45 double *v_double_pointer;
46
47
48 char v_char_array[2];
49 signed char v_signed_char_array[2];
50 unsigned char v_unsigned_char_array[2];
51
52 short v_short_array[2];
53 signed short v_signed_short_array[2];
54 unsigned short v_unsigned_short_array[2];
55
56 int v_int_array[2];
57 signed int v_signed_int_array[2];
58 unsigned int v_unsigned_int_array[2];
59
60 long v_long_array[2];
61 signed long v_signed_long_array[2];
62 unsigned long v_unsigned_long_array[2];
63
64 float v_float_array[2];
65 double v_double_array[2];
66
67 int matrix[2][3] = { { 0, 1, 2}, {3, 4, 5}};
68 int (*rptr)[3] = matrix;
69
70 float ** ptr_to_ptr_to_float;
71
72 int y;
73
74
75 typedef long k[5];
76
77 typedef struct {
78 k array_variable;
79 } S;
80
81 S instance;
82
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. */
87 void usevar (void *var) {}
88
89 int main ()
90 {
91 void dummy();
92 int more_code();
93
94 dummy();
95
96 more_code ();
97
98 usevar (&v_int_pointer2);
99 usevar (&rptr);
100 usevar (&y);
101
102 return 0;
103
104 }
105
106 void 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
176 void marker1 ()
177 {
178 }
179
180 int 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;
202 D = -1.25E-37;
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 }
This page took 0.037806 seconds and 4 git commands to generate.