• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/gdb/gdb/testsuite/gdb.base/
1#ifdef PROTOTYPES
2int main (int argc, char **argv, char **envp)
3#else
4main (argc, argv, envp)
5     int argc;
6     char **argv;
7     char **envp;
8#endif
9{
10    extern void dummy();
11#ifdef usestubs
12    set_debug_traps();
13    breakpoint();
14#endif
15    dummy();
16    return 0;
17
18}
19
20/* We put main() right up front so its line number doesn't keep changing.  */
21
22/*
23 *	Test file with lots of different types, for testing the
24 *	"whatis" command.
25 */
26
27/*
28 *	First the basic C types.
29 */
30
31#if !defined (__STDC__) && !defined (_AIX)
32#define signed  /**/
33#endif
34
35char		v_char;
36signed char	v_signed_char;
37unsigned char	v_unsigned_char;
38
39short		v_short;
40signed short	v_signed_short;
41unsigned short	v_unsigned_short;
42
43int		v_int;
44signed int	v_signed_int;
45unsigned int	v_unsigned_int;
46
47long		v_long;
48signed long	v_signed_long;
49unsigned long	v_unsigned_long;
50
51float		v_float;
52double		v_double;
53/*
54 *	Now some derived types, which are arrays, functions-returning,
55 *	pointers, structures, unions, and enumerations.
56 */
57
58/**** arrays *******/
59
60char		v_char_array[2];
61signed char	v_signed_char_array[2];
62unsigned char	v_unsigned_char_array[2];
63
64short		v_short_array[2];
65signed short	v_signed_short_array[2];
66unsigned short	v_unsigned_short_array[2];
67
68int		v_int_array[2];
69signed int	v_signed_int_array[2];
70unsigned int	v_unsigned_int_array[2];
71
72long		v_long_array[2];
73signed long	v_signed_long_array[2];
74unsigned long	v_unsigned_long_array[2];
75
76float		v_float_array[2];
77double		v_double_array[2];
78/**** pointers *******/
79
80char		*v_char_pointer;
81signed char	*v_signed_char_pointer;
82unsigned char	*v_unsigned_char_pointer;
83
84short		*v_short_pointer;
85signed short	*v_signed_short_pointer;
86unsigned short	*v_unsigned_short_pointer;
87
88int		*v_int_pointer;
89signed int	*v_signed_int_pointer;
90unsigned int	*v_unsigned_int_pointer;
91
92long		*v_long_pointer;
93signed long	*v_signed_long_pointer;
94unsigned long	*v_unsigned_long_pointer;
95
96float		*v_float_pointer;
97double		*v_double_pointer;
98
99/**** structs *******/
100
101struct t_struct {
102    char	v_char_member;
103    short	v_short_member;
104    int		v_int_member;
105    long	v_long_member;
106    float	v_float_member;
107    double	v_double_member;
108} v_struct1;
109
110struct {
111    char	v_char_member;
112    short	v_short_member;
113    int		v_int_member;
114    long	v_long_member;
115    float	v_float_member;
116    double	v_double_member;
117} v_struct2;
118
119/**** unions *******/
120
121union t_union {
122    char	v_char_member;
123    short	v_short_member;
124    int		v_int_member;
125    long	v_long_member;
126    float	v_float_member;
127    double	v_double_member;
128} v_union;
129
130union {
131    char	v_char_member;
132    short	v_short_member;
133    int		v_int_member;
134    long	v_long_member;
135    float	v_float_member;
136    double	v_double_member;
137} v_union2;
138
139/*** Functions returning type ********/
140
141char		v_char_func () { return(0); }
142signed char	v_signed_char_func () { return (0); }
143unsigned char	v_unsigned_char_func () { return (0); }
144
145short		v_short_func () { return (0); }
146signed short	v_signed_short_func () { return (0); }
147unsigned short	v_unsigned_short_func () { return (0); }
148
149int		v_int_func () { return (0); }
150signed int	v_signed_int_func () { return (0); }
151unsigned int	v_unsigned_int_func () { return (0); }
152
153long		v_long_func () { return (0); }
154signed long	v_signed_long_func () { return (0); }
155unsigned long	v_unsigned_long_func () { return (0); }
156
157float		v_float_func () { return (0.0); }
158double		v_double_func () { return (0.0); }
159
160/**** Some misc more complicated things *******/
161
162struct link {
163	struct link *next;
164#ifdef __STDC__
165	struct link *(*linkfunc) (struct link *this, int flags);
166#else
167	struct link *(*linkfunc) ();
168#endif
169	struct t_struct stuff[1][2][3];
170} *s_link;
171
172union tu_link {
173	struct link *next;
174#ifdef __STDC__
175	struct link *(*linkfunc) (struct link *this, int flags);
176#else
177	struct link *(*linkfunc) ();
178#endif
179	struct t_struct stuff[1][2][3];
180} u_link;
181
182/**** Enumerations *******/
183
184enum colors {red, green, blue} color;
185enum cars {chevy, ford, porsche} clunker;
186
187
188void dummy()
189{
190  /* Some linkers (e.g. on AIX) remove unreferenced variables,
191     so make sure to reference them. */
192  v_char = 0;
193  v_signed_char = 1;
194  v_unsigned_char = 2;
195
196  v_short = 3;
197  v_signed_short = 4;
198  v_unsigned_short = 5;
199
200  v_int = 6;
201  v_signed_int = 7;
202  v_unsigned_int = 8;
203
204  v_long = 9;
205  v_signed_long = 10;
206  v_unsigned_long = 11;
207
208  v_float = 100.0;
209  v_double = 200.0;
210  v_char_array[0] = v_char;
211  v_signed_char_array[0] = v_signed_char;
212  v_unsigned_char_array[0] = v_unsigned_char;
213
214  v_short_array[0] = v_short;
215  v_signed_short_array[0] = v_signed_short;
216  v_unsigned_short_array[0] = v_unsigned_short;
217
218  v_int_array[0] = v_int;
219  v_signed_int_array[0] = v_signed_int;
220  v_unsigned_int_array[0] = v_unsigned_int;
221
222  v_long_array[0] = v_long;
223  v_signed_long_array[0] = v_signed_long;
224  v_unsigned_long_array[0] = v_unsigned_long;
225
226  v_float_array[0] = v_float;
227  v_double_array[0] = v_double;
228  v_char_pointer = &v_char;
229  v_signed_char_pointer = &v_signed_char;
230  v_unsigned_char_pointer = &v_unsigned_char;
231
232  v_short_pointer = &v_short;
233  v_signed_short_pointer = &v_signed_short;
234  v_unsigned_short_pointer = &v_unsigned_short;
235
236  v_int_pointer = &v_int;
237  v_signed_int_pointer = &v_signed_int;
238  v_unsigned_int_pointer = &v_unsigned_int;
239
240  v_long_pointer = &v_long;
241  v_signed_long_pointer = &v_signed_long;
242  v_unsigned_long_pointer = &v_unsigned_long;
243
244  v_float_pointer = &v_float;
245  v_double_pointer = &v_double;
246
247  color = red;
248  clunker = porsche;
249
250  u_link.next = s_link;
251
252  v_struct2.v_int_member = v_struct1.v_int_member;
253  v_union2.v_short_member = v_union.v_short_member;
254}
255