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