1 /* This table is used as a source for every ascii character.
2 It is explicitly unsigned to avoid differences due to native characters
3 being either signed or unsigned. */
5 unsigned char ctable1
[256] = {
6 0000, 0001, 0002, 0003, 0004, 0005, 0006, 0007,
7 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017,
8 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027,
9 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037,
10 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047,
11 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057,
12 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067,
13 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077,
14 0100, 0101, 0102, 0103, 0104, 0105, 0106, 0107,
15 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117,
16 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127,
17 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137,
18 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147,
19 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157,
20 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167,
21 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177,
22 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207,
23 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217,
24 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227,
25 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237,
26 0240, 0241, 0242, 0243, 0244, 0245, 0246, 0247,
27 0250, 0251, 0252, 0253, 0254, 0255, 0256, 0257,
28 0260, 0261, 0262, 0263, 0264, 0265, 0266, 0267,
29 0270, 0271, 0272, 0273, 0274, 0275, 0276, 0277,
30 0300, 0301, 0302, 0303, 0304, 0305, 0306, 0307,
31 0310, 0311, 0312, 0313, 0314, 0315, 0316, 0317,
32 0320, 0321, 0322, 0323, 0324, 0325, 0326, 0327,
33 0330, 0331, 0332, 0333, 0334, 0335, 0336, 0337,
34 0340, 0341, 0342, 0343, 0344, 0345, 0346, 0347,
35 0350, 0351, 0352, 0353, 0354, 0355, 0356, 0357,
36 0360, 0361, 0362, 0363, 0364, 0365, 0366, 0367,
37 0370, 0371, 0372, 0373, 0374, 0375, 0376, 0377
40 unsigned char ctable2
[] = {
41 'a','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
42 'a','a','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
43 'a','a','a','X','X','X','X','X','X','X','X','X','X','X','X','X',
44 'a','a','a','a','X','X','X','X','X','X','X','X','X','X','X','X',
45 'a','a','a','a','a','X','X','X','X','X','X','X','X','X','X','X',
46 'a','a','a','a','a','a','X','X','X','X','X','X','X','X','X','X',
47 'a','a','a','a','a','a','a','X','X','X','X','X','X','X','X','X',
48 'a','a','a','a','a','a','a','a','X','X','X','X','X','X','X','X',
49 'a','a','a','a','a','a','a','a','a','X','X','X','X','X','X','X',
50 'a','a','a','a','a','a','a','a','a','a','X','X','X','X','X','X',
51 'a','a','a','a','a','a','a','a','a','a','a','X','X','X','X','X',
52 'a','a','a','a','a','a','a','a','a','a','a','a','X','X','X','X',
53 'a','a','a','a','a','a','a','a','a','a','a','a','a','X','X','X',
54 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','X','X',
55 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','X',
56 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a', 0
59 /* Single and multidimensional arrays to test access and printing of array
62 typedef int ArrayInt
[10];
63 ArrayInt a1
= {2,4,6,8,10,12,14,16,18,20};
65 typedef char ArrayChar
[5];
66 ArrayChar a2
= {'a','b','c','d','\0'};
68 int int1dim
[12] = {0,1,2,3,4,5,6,7,8,9,10,11};
69 int int2dim
[3][4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}};
70 int int3dim
[2][3][2] = {{{0,1},{2,3},{4,5}},{{6,7},{8,9},{10,11}}};
71 int int4dim
[1][2][3][2] = {{{{0,1},{2,3},{4,5}},{{6,7},{8,9},{10,11}}}};
73 char *teststring
= (char*)"teststring contents";
75 /* Test printing of a struct containing character arrays. */
78 unsigned char array1
[4];
79 unsigned char array2
[1];
80 unsigned char array3
[1];
81 unsigned char array4
[2];
82 unsigned char array5
[4];
84 {'a', 'b', 'c', '\0'},
91 struct some_arrays
*parrays
= &arrays
;
93 enum some_volatile_enum
{ enumvolval1
, enumvolval2
};
95 /* A volatile enum variable whose name is the same as the enumeration
97 volatile enum some_volatile_enum some_volatile_enum
= enumvolval1
;
99 /* An enum considered as a "flag enum". */
107 enum flag_enum three
= FE_ONE
| FE_TWO
;
109 /* Another enum considered as a "flag enum", but with no enumerator with value
111 enum flag_enum_without_zero
117 enum flag_enum_without_zero flag_enum_without_zero
= 0;
119 /* Not a flag enum, an enumerator value has multiple bits sets. */
127 enum not_flag_enum three_not_flag
= NFE_ONE
| NFE_TWO
;
129 /* A structure with an embedded array at an offset > 0. The array has
130 all elements with the same repeating value, which must not be the
131 same as the value of the preceding fields in the structure for the
132 test to be effective. This tests whether GDB uses the correct
133 element content offsets (relative to the complete `some_struct'
134 value) when counting value repetitions. */
139 unsigned char array
[20];
144 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
145 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
146 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
147 0xaa, 0xaa, 0xaa, 0xaa, 0xaa
151 /* The following variables are used for testing byte repeat sequences.
152 The variable names are encoded: invalid_XYZ where:
157 Each of X and Z can be "E" (empty), "S" (single), "L" (long single),
160 Y can be either any of the above except "E" (otherwise there is nothing
162 char invalid_ESE
[] = "\240";
163 char invalid_SSE
[] = "a\240";
164 char invalid_LSE
[] = "abaabbaaabbb\240";
165 char invalid_RSE
[] = "aaaaaaaaaaaaaaaaaaaa\240";
166 char invalid_ESS
[] = "\240c";
167 char invalid_SSS
[] = "a\240c";
168 char invalid_LSS
[] = "abaabbaaabbb\240c";
169 char invalid_RSS
[] = "aaaaaaaaaaaaaaaaaaaa\240c";
170 char invalid_ESL
[] = "\240cdccddcccddd";
171 char invalid_SSL
[] = "a\240cdccddcccddd";
172 char invalid_LSL
[] = "abaabbaaabbb\240cdccddcccddd";
173 char invalid_RSL
[] = "aaaaaaaaaaaaaaaaaaaa\240cdccddcccddd";
174 char invalid_ESR
[] = "\240cccccccccccccccccccc";
175 char invalid_SSR
[] = "a\240cccccccccccccccccccc";
176 char invalid_LSR
[] = "abaabbaaabbb\240cccccccccccccccccccc";
177 char invalid_RSR
[] = "aaaaaaaaaaaaaaaaaaaa\240cccccccccccccccccccc";
178 char invalid_ELE
[] = "\240\240\240\240";
179 char invalid_SLE
[] = "a\240\240\240\240";
180 char invalid_LLE
[] = "abaabbaaabbb\240\240\240\240";
181 char invalid_RLE
[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240";
182 char invalid_ELS
[] = "\240\240\240\240c";
183 char invalid_SLS
[] = "a\240\240\240\240c";
184 char invalid_LLS
[] = "abaabbaaabbb\240\240\240\240c";
185 char invalid_RLS
[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240c";
186 char invalid_ELL
[] = "\240\240\240\240cdccddcccddd";
187 char invalid_SLL
[] = "a\240\240\240\240cdccddcccddd";
188 char invalid_LLL
[] = "abaabbaaabbb\240\240\240\240cdccddcccddd";
189 char invalid_RLL
[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cdccddcccddd";
190 char invalid_ELR
[] = "\240\240\240\240cccccccccccccccccccc";
191 char invalid_SLR
[] = "a\240\240\240\240cccccccccccccccccccc";
192 char invalid_LLR
[] = "abaabbaaabbb\240\240\240\240cccccccccccccccccccc";
193 char invalid_RLR
[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cccccccccccccccccccc";
194 char invalid_ERE
[] = ""
195 "\240\240\240\240\240\240\240\240\240\240"
196 "\240\240\240\240\240\240\240\240\240\240";
197 char invalid_LRE
[] = "abaabbaaabbb"
198 "\240\240\240\240\240\240\240\240\240\240"
199 "\240\240\240\240\240\240\240\240\240\240";
200 char invalid_RRE
[] = "aaaaaaaaaaaaaaaaaaaa"
201 "\240\240\240\240\240\240\240\240\240\240"
202 "\240\240\240\240\240\240\240\240\240\240";
203 char invalid_ERS
[] = ""
204 "\240\240\240\240\240\240\240\240\240\240"
205 "\240\240\240\240\240\240\240\240\240\240c";
206 char invalid_ERL
[] = ""
207 "\240\240\240\240\240\240\240\240\240\240"
208 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
209 char invalid_ERR
[] = ""
210 "\240\240\240\240\240\240\240\240\240\240"
211 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
212 char invalid_SRE
[] = "a"
213 "\240\240\240\240\240\240\240\240\240\240"
214 "\240\240\240\240\240\240\240\240\240\240";
215 char invalid_SRS
[] = "a"
216 "\240\240\240\240\240\240\240\240\240\240"
217 "\240\240\240\240\240\240\240\240\240\240c";
218 char invalid_SRL
[] = "a"
219 "\240\240\240\240\240\240\240\240\240\240"
220 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
221 char invalid_SRR
[] = "a"
222 "\240\240\240\240\240\240\240\240\240\240"
223 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
224 char invalid_LRS
[] = "abaabbaaabbb"
225 "\240\240\240\240\240\240\240\240\240\240"
226 "\240\240\240\240\240\240\240\240\240\240c";
227 char invalid_LRL
[] = "abaabbaaabbb"
228 "\240\240\240\240\240\240\240\240\240\240"
229 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
230 char invalid_LRR
[] = "abaabbaaabbb"
231 "\240\240\240\240\240\240\240\240\240\240"
232 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
233 char invalid_RRS
[] = "aaaaaaaaaaaaaaaaaaaa"
234 "\240\240\240\240\240\240\240\240\240\240"
235 "\240\240\240\240\240\240\240\240\240\240c";
236 char invalid_RRL
[] = "aaaaaaaaaaaaaaaaaaaa"
237 "\240\240\240\240\240\240\240\240\240\240"
238 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
239 char invalid_RRR
[] = "aaaaaaaaaaaaaaaaaaaa"
240 "\240\240\240\240\240\240\240\240\240\240"
241 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
247 void *p
= malloc (1);
249 /* Prevent AIX linker from removing variables. */
250 return ctable1
[0] + ctable2
[0] + int1dim
[0] + int2dim
[0][0]
251 + int3dim
[0][0][0] + int4dim
[0][0][0][0] + teststring
[0] +
252 *parrays
-> array1
+ a1
[0] + a2
[0];