import gdb-1999-08-02 snapshot
[external/binutils.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 int main ()
75 {
76     void dummy();
77     int more_code();
78     
79     /* Ensure that malloc is a pointer type; avoid use of "void" and any include files. */
80     /* extern char *malloc();*/
81
82     /*  void *malloc(size_t);*/
83     
84
85     
86 #ifdef usestubs
87   set_debug_traps();
88   breakpoint();
89 #endif
90   dummy();
91 /*  v_int_pointer2 = &v_int_pointer;
92   v_unsigned_int_pointer = &v_int;
93   
94   y = (v_unsigned_int_pointer == v_double_pointer);
95   
96   x = v_unsigned_int_pointer * v_double_pointer;
97   
98   v_unsigned_int_pointer = v_double_pointer;
99   
100   v_unsigned_int_pointer = v_unsigned_int;*/
101
102   more_code ();
103
104   return 0;
105   
106 }
107
108 void dummy()
109 {
110     
111   
112   v_char = 0;
113   v_signed_char = 1;
114   v_unsigned_char = 2;
115
116   v_short = 3;
117   v_signed_short = 4;
118   v_unsigned_short = 5;    
119
120   v_int = 6;
121   v_signed_int = 7;
122   v_unsigned_int = 8;    
123
124   v_long = 9;
125   v_signed_long = 10;
126   v_unsigned_long = 11;    
127   
128   v_float = 100.0;
129   v_double = 200.0;
130
131
132
133   v_char_pointer = &v_char;
134   v_signed_char_pointer = &v_signed_char;
135   v_unsigned_char_pointer = &v_unsigned_char;
136
137   v_short_pointer = &v_short;
138   v_signed_short_pointer = &v_signed_short;
139   v_unsigned_short_pointer = &v_unsigned_short;
140
141   v_int_pointer = &v_int;
142   v_signed_int_pointer = &v_signed_int;
143   v_unsigned_int_pointer = &v_unsigned_int;
144
145   v_long_pointer = &v_long;
146   v_signed_long_pointer = &v_signed_long;
147   v_unsigned_long_pointer = &v_unsigned_long;
148
149   v_float_pointer = &v_float;
150   v_double_pointer = &v_double;
151
152   ptr_to_ptr_to_float = &v_float_pointer;
153   
154   
155   v_char_array[0] = v_char;
156   v_signed_char_array[0] = v_signed_char;
157   v_unsigned_char_array[0] = v_unsigned_char;
158
159   v_short_array[0] = v_short;
160   v_signed_short_array[0] = v_signed_short;
161   v_unsigned_short_array[0] = v_unsigned_short;
162
163   v_int_array[0] = v_int;
164   v_int_array[1] = v_int * 3;
165   
166   v_signed_int_array[0] = v_signed_int;
167   v_unsigned_int_array[0] = v_unsigned_int;
168
169   v_long_array[0] = v_long;
170   v_signed_long_array[0] = v_signed_long;
171   v_unsigned_long_array[0] = v_unsigned_long;
172
173   v_float_array[0] = v_float;
174   v_double_array[0] = v_double;
175
176 }
177
178 void marker1 ()
179 {
180 }
181
182 int more_code()
183 {
184     char C, *pC, **ppC, ***pppC, ****ppppC, *****pppppC, ******ppppppC;
185     unsigned char UC, *pUC;
186     short S, *pS;
187     unsigned short US, *pUS;
188     int I, *pI;
189     unsigned int UI, *pUI;
190     long L, *pL;
191     unsigned long UL, *pUL;
192     float F, *pF;
193     double D, *pD;
194
195     C = 'A';
196     UC = 21;
197     S = -14;
198     US = 7;
199     I = 102;
200     UI = 1002;
201     L = -234;
202     UL = 234;
203     F = 1.25E10;
204     D = -1.375E-123;
205     pC = &C;
206     ppC = &pC;
207     pppC = &ppC;
208     ppppC = &pppC;
209     pppppC = &ppppC;
210     ppppppC = &pppppC;
211     pUC = &UC;
212     pS = &S;
213     pUS = &US;
214     pI = &I;
215     pUI = &UI;
216     pL = &L;
217     pUL = &UL;
218     pF = &F;
219     pD = &D;
220     
221     marker1();
222     return 0;
223 }