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". */
105 FE_TWO_LEGACY
= 0x02,
108 enum flag_enum three
= FE_ONE
| FE_TWO
;
110 /* Another enum considered as a "flag enum", but with no enumerator with value
112 enum flag_enum_without_zero
118 enum flag_enum_without_zero flag_enum_without_zero
= 0;
120 /* Not a flag enum, an enumerator value has multiple bits sets. */
128 enum not_flag_enum three_not_flag
= NFE_ONE
| NFE_TWO
;
130 /* A structure with an embedded array at an offset > 0. The array has
131 all elements with the same repeating value, which must not be the
132 same as the value of the preceding fields in the structure for the
133 test to be effective. This tests whether GDB uses the correct
134 element content offsets (relative to the complete `some_struct'
135 value) when counting value repetitions. */
140 unsigned char array
[20];
145 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
146 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
147 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
148 0xaa, 0xaa, 0xaa, 0xaa, 0xaa
152 /* The following variables are used for testing byte repeat sequences.
153 The variable names are encoded: invalid_XYZ where:
158 Each of X and Z can be "E" (empty), "S" (single), "L" (long single),
161 Y can be either any of the above except "E" (otherwise there is nothing
163 char invalid_ESE
[] = "\240";
164 char invalid_SSE
[] = "a\240";
165 char invalid_LSE
[] = "abaabbaaabbb\240";
166 char invalid_RSE
[] = "aaaaaaaaaaaaaaaaaaaa\240";
167 char invalid_ESS
[] = "\240c";
168 char invalid_SSS
[] = "a\240c";
169 char invalid_LSS
[] = "abaabbaaabbb\240c";
170 char invalid_RSS
[] = "aaaaaaaaaaaaaaaaaaaa\240c";
171 char invalid_ESL
[] = "\240cdccddcccddd";
172 char invalid_SSL
[] = "a\240cdccddcccddd";
173 char invalid_LSL
[] = "abaabbaaabbb\240cdccddcccddd";
174 char invalid_RSL
[] = "aaaaaaaaaaaaaaaaaaaa\240cdccddcccddd";
175 char invalid_ESR
[] = "\240cccccccccccccccccccc";
176 char invalid_SSR
[] = "a\240cccccccccccccccccccc";
177 char invalid_LSR
[] = "abaabbaaabbb\240cccccccccccccccccccc";
178 char invalid_RSR
[] = "aaaaaaaaaaaaaaaaaaaa\240cccccccccccccccccccc";
179 char invalid_ELE
[] = "\240\240\240\240";
180 char invalid_SLE
[] = "a\240\240\240\240";
181 char invalid_LLE
[] = "abaabbaaabbb\240\240\240\240";
182 char invalid_RLE
[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240";
183 char invalid_ELS
[] = "\240\240\240\240c";
184 char invalid_SLS
[] = "a\240\240\240\240c";
185 char invalid_LLS
[] = "abaabbaaabbb\240\240\240\240c";
186 char invalid_RLS
[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240c";
187 char invalid_ELL
[] = "\240\240\240\240cdccddcccddd";
188 char invalid_SLL
[] = "a\240\240\240\240cdccddcccddd";
189 char invalid_LLL
[] = "abaabbaaabbb\240\240\240\240cdccddcccddd";
190 char invalid_RLL
[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cdccddcccddd";
191 char invalid_ELR
[] = "\240\240\240\240cccccccccccccccccccc";
192 char invalid_SLR
[] = "a\240\240\240\240cccccccccccccccccccc";
193 char invalid_LLR
[] = "abaabbaaabbb\240\240\240\240cccccccccccccccccccc";
194 char invalid_RLR
[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cccccccccccccccccccc";
195 char invalid_ERE
[] = ""
196 "\240\240\240\240\240\240\240\240\240\240"
197 "\240\240\240\240\240\240\240\240\240\240";
198 char invalid_LRE
[] = "abaabbaaabbb"
199 "\240\240\240\240\240\240\240\240\240\240"
200 "\240\240\240\240\240\240\240\240\240\240";
201 char invalid_RRE
[] = "aaaaaaaaaaaaaaaaaaaa"
202 "\240\240\240\240\240\240\240\240\240\240"
203 "\240\240\240\240\240\240\240\240\240\240";
204 char invalid_ERS
[] = ""
205 "\240\240\240\240\240\240\240\240\240\240"
206 "\240\240\240\240\240\240\240\240\240\240c";
207 char invalid_ERL
[] = ""
208 "\240\240\240\240\240\240\240\240\240\240"
209 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
210 char invalid_ERR
[] = ""
211 "\240\240\240\240\240\240\240\240\240\240"
212 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
213 char invalid_SRE
[] = "a"
214 "\240\240\240\240\240\240\240\240\240\240"
215 "\240\240\240\240\240\240\240\240\240\240";
216 char invalid_SRS
[] = "a"
217 "\240\240\240\240\240\240\240\240\240\240"
218 "\240\240\240\240\240\240\240\240\240\240c";
219 char invalid_SRL
[] = "a"
220 "\240\240\240\240\240\240\240\240\240\240"
221 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
222 char invalid_SRR
[] = "a"
223 "\240\240\240\240\240\240\240\240\240\240"
224 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
225 char invalid_LRS
[] = "abaabbaaabbb"
226 "\240\240\240\240\240\240\240\240\240\240"
227 "\240\240\240\240\240\240\240\240\240\240c";
228 char invalid_LRL
[] = "abaabbaaabbb"
229 "\240\240\240\240\240\240\240\240\240\240"
230 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
231 char invalid_LRR
[] = "abaabbaaabbb"
232 "\240\240\240\240\240\240\240\240\240\240"
233 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
234 char invalid_RRS
[] = "aaaaaaaaaaaaaaaaaaaa"
235 "\240\240\240\240\240\240\240\240\240\240"
236 "\240\240\240\240\240\240\240\240\240\240c";
237 char invalid_RRL
[] = "aaaaaaaaaaaaaaaaaaaa"
238 "\240\240\240\240\240\240\240\240\240\240"
239 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
240 char invalid_RRR
[] = "aaaaaaaaaaaaaaaaaaaa"
241 "\240\240\240\240\240\240\240\240\240\240"
242 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
248 void *p
= malloc (1);
250 /* Prevent AIX linker from removing variables. */
251 return ctable1
[0] + ctable2
[0] + int1dim
[0] + int2dim
[0][0]
252 + int3dim
[0][0][0] + int4dim
[0][0][0][0] + teststring
[0] +
253 *parrays
-> array1
+ a1
[0] + a2
[0];