Add a test case for skip with inlined functions
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / printcmds.c
CommitLineData
c906108c
SS
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. */
085dd6e6 4#include <stdlib.h>
c906108c
SS
5unsigned 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
38};
39
40unsigned 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',
7a495180 56 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a', 0
c906108c
SS
57};
58
59/* Single and multidimensional arrays to test access and printing of array
60 members. */
61
751a959b
EZ
62typedef int ArrayInt [10];
63ArrayInt a1 = {2,4,6,8,10,12,14,16,18,20};
64
65typedef char ArrayChar [5];
66ArrayChar a2 = {'a','b','c','d','\0'};
67
c906108c
SS
68int int1dim[12] = {0,1,2,3,4,5,6,7,8,9,10,11};
69int int2dim[3][4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}};
70int int3dim[2][3][2] = {{{0,1},{2,3},{4,5}},{{6,7},{8,9},{10,11}}};
71int int4dim[1][2][3][2] = {{{{0,1},{2,3},{4,5}},{{6,7},{8,9},{10,11}}}};
72
085dd6e6 73char *teststring = (char*)"teststring contents";
c906108c
SS
74
75/* Test printing of a struct containing character arrays. */
76
77struct some_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];
83} arrays = {
84 {'a', 'b', 'c', '\0'},
85 {'d'},
86 {'e'},
87 {'f', 'g' },
88 {'h', 'i', 'j', '\0'}
89};
90
91struct some_arrays *parrays = &arrays;
92
23bd0f7c
PA
93enum some_volatile_enum { enumvolval1, enumvolval2 };
94
95/* A volatile enum variable whose name is the same as the enumeration
96 name. See PR11827. */
97volatile enum some_volatile_enum some_volatile_enum = enumvolval1;
98
cafec441
TT
99enum flag_enum { ONE = 1, TWO = 2 };
100
101enum flag_enum three = ONE | TWO;
102
490f124f
PA
103/* A structure with an embedded array at an offset > 0. The array has
104 all elements with the same repeating value, which must not be the
105 same as the value of the preceding fields in the structure for the
106 test to be effective. This tests whether GDB uses the correct
107 element content offsets (relative to the complete `some_struct'
108 value) when counting value repetitions. */
109struct some_struct
110{
111 int a;
112 int b;
113 unsigned char array[20];
114} some_struct = {
115 0x12345678,
116 0x87654321,
117 {
118 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
119 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
120 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
121 0xaa, 0xaa, 0xaa, 0xaa, 0xaa
122 }
123};
124
0d63ecda
KS
125/* The following variables are used for testing byte repeat sequences.
126 The variable names are encoded: invalid_XYZ where:
127 X = start
128 Y = invalid
129 Z = end
130
131 Each of X and Z can be "E" (empty), "S" (single), "L" (long single),
132 or "R" (repeat).
133
134 Y can be either any of the above except "E" (otherwise there is nothing
135 to test). */
136char invalid_ESE[] = "\240";
137char invalid_SSE[] = "a\240";
138char invalid_LSE[] = "abaabbaaabbb\240";
139char invalid_RSE[] = "aaaaaaaaaaaaaaaaaaaa\240";
140char invalid_ESS[] = "\240c";
141char invalid_SSS[] = "a\240c";
142char invalid_LSS[] = "abaabbaaabbb\240c";
143char invalid_RSS[] = "aaaaaaaaaaaaaaaaaaaa\240c";
144char invalid_ESL[] = "\240cdccddcccddd";
145char invalid_SSL[] = "a\240cdccddcccddd";
146char invalid_LSL[] = "abaabbaaabbb\240cdccddcccddd";
147char invalid_RSL[] = "aaaaaaaaaaaaaaaaaaaa\240cdccddcccddd";
148char invalid_ESR[] = "\240cccccccccccccccccccc";
149char invalid_SSR[] = "a\240cccccccccccccccccccc";
150char invalid_LSR[] = "abaabbaaabbb\240cccccccccccccccccccc";
151char invalid_RSR[] = "aaaaaaaaaaaaaaaaaaaa\240cccccccccccccccccccc";
152char invalid_ELE[] = "\240\240\240\240";
153char invalid_SLE[] = "a\240\240\240\240";
154char invalid_LLE[] = "abaabbaaabbb\240\240\240\240";
155char invalid_RLE[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240";
156char invalid_ELS[] = "\240\240\240\240c";
157char invalid_SLS[] = "a\240\240\240\240c";
158char invalid_LLS[] = "abaabbaaabbb\240\240\240\240c";
159char invalid_RLS[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240c";
160char invalid_ELL[] = "\240\240\240\240cdccddcccddd";
161char invalid_SLL[] = "a\240\240\240\240cdccddcccddd";
162char invalid_LLL[] = "abaabbaaabbb\240\240\240\240cdccddcccddd";
163char invalid_RLL[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cdccddcccddd";
164char invalid_ELR[] = "\240\240\240\240cccccccccccccccccccc";
165char invalid_SLR[] = "a\240\240\240\240cccccccccccccccccccc";
166char invalid_LLR[] = "abaabbaaabbb\240\240\240\240cccccccccccccccccccc";
167char invalid_RLR[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cccccccccccccccccccc";
168char invalid_ERE[] = ""
169 "\240\240\240\240\240\240\240\240\240\240"
170 "\240\240\240\240\240\240\240\240\240\240";
171char invalid_LRE[] = "abaabbaaabbb"
172 "\240\240\240\240\240\240\240\240\240\240"
173 "\240\240\240\240\240\240\240\240\240\240";
174char invalid_RRE[] = "aaaaaaaaaaaaaaaaaaaa"
175 "\240\240\240\240\240\240\240\240\240\240"
176 "\240\240\240\240\240\240\240\240\240\240";
177char invalid_ERS[] = ""
178 "\240\240\240\240\240\240\240\240\240\240"
179 "\240\240\240\240\240\240\240\240\240\240c";
180char invalid_ERL[] = ""
181 "\240\240\240\240\240\240\240\240\240\240"
182 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
183char invalid_ERR[] = ""
184 "\240\240\240\240\240\240\240\240\240\240"
185 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
186char invalid_SRE[] = "a"
187 "\240\240\240\240\240\240\240\240\240\240"
188 "\240\240\240\240\240\240\240\240\240\240";
189char invalid_SRS[] = "a"
190 "\240\240\240\240\240\240\240\240\240\240"
191 "\240\240\240\240\240\240\240\240\240\240c";
192char invalid_SRL[] = "a"
193 "\240\240\240\240\240\240\240\240\240\240"
194 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
195char invalid_SRR[] = "a"
196 "\240\240\240\240\240\240\240\240\240\240"
197 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
198char invalid_LRS[] = "abaabbaaabbb"
199 "\240\240\240\240\240\240\240\240\240\240"
200 "\240\240\240\240\240\240\240\240\240\240c";
201char invalid_LRL[] = "abaabbaaabbb"
202 "\240\240\240\240\240\240\240\240\240\240"
203 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
204char invalid_LRR[] = "abaabbaaabbb"
205 "\240\240\240\240\240\240\240\240\240\240"
206 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
207char invalid_RRS[] = "aaaaaaaaaaaaaaaaaaaa"
208 "\240\240\240\240\240\240\240\240\240\240"
209 "\240\240\240\240\240\240\240\240\240\240c";
210char invalid_RRL[] = "aaaaaaaaaaaaaaaaaaaa"
211 "\240\240\240\240\240\240\240\240\240\240"
212 "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
213char invalid_RRR[] = "aaaaaaaaaaaaaaaaaaaa"
214 "\240\240\240\240\240\240\240\240\240\240"
215 "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
216
c906108c
SS
217/* -- */
218
085dd6e6 219int main ()
c906108c 220{
0db4ca18 221 void *p = malloc (1);
c906108c
SS
222
223 /* Prevent AIX linker from removing variables. */
224 return ctable1[0] + ctable2[0] + int1dim[0] + int2dim[0][0]
225 + int3dim[0][0][0] + int4dim[0][0][0][0] + teststring[0] +
751a959b 226 *parrays -> array1 + a1[0] + a2[0];
0db4ca18 227 free (p);
c906108c 228}
This page took 2.39141 seconds and 4 git commands to generate.