1 /* Copyright 1996, 1999, 2007 Free Software Foundation, Inc.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 3 of the License, or
6 (at your option) any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with GCC; see the file COPYING3. If not see
15 <http://www.gnu.org/licenses/>.
16
17 Please email any bugs, comments, and/or additions to this file to:
18 bug-gdb@prep.ai.mit.edu */
19
20 struct struct1 { char a;};
21 struct struct2 { char a, b;};
22 struct struct3 { char a, b, c; };
23 struct struct4 { char a, b, c, d; };
24 struct struct5 { char a, b, c, d, e; };
25 struct struct6 { char a, b, c, d, e, f; };
26 struct struct7 { char a, b, c, d, e, f, g; };
27 struct struct8 { char a, b, c, d, e, f, g, h; };
28 struct struct9 { char a, b, c, d, e, f, g, h, i; };
29 struct struct10 { char a, b, c, d, e, f, g, h, i, j; };
30 struct struct11 { char a, b, c, d, e, f, g, h, i, j, k; };
31 struct struct12 { char a, b, c, d, e, f, g, h, i, j, k, l; };
32 struct struct16 { char a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p; };
33
34 struct struct1 foo1 = {'1'}, L1;
35 struct struct2 foo2 = { 'a', 'b'}, L2;
36 struct struct3 foo3 = { 'A', 'B', 'C'}, L3;
37 struct struct4 foo4 = {'1', '2', '3', '4'}, L4;
38 struct struct5 foo5 = {'a', 'b', 'c', 'd', 'e'}, L5;
39 struct struct6 foo6 = {'A', 'B', 'C', 'D', 'E', 'F'}, L6;
40 struct struct7 foo7 = {'1', '2', '3', '4', '5', '6', '7'}, L7;
41 struct struct8 foo8 = {'1', '2', '3', '4', '5', '6', '7', '8'}, L8;
42 struct struct9 foo9 = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'}, L9;
43 struct struct10 foo10 = {
44 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}, L10;
45 struct struct11 foo11 = {
46 '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B'}, L11;
47 struct struct12 foo12 = {
48 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'}, L12;
49 struct struct16 foo16 = {
50 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'}, L16;
51
fun1()52 struct struct1 fun1()
53 {
54 return foo1;
55 }
fun2()56 struct struct2 fun2()
57 {
58 return foo2;
59 }
fun3()60 struct struct3 fun3()
61 {
62 return foo3;
63 }
fun4()64 struct struct4 fun4()
65 {
66 return foo4;
67 }
fun5()68 struct struct5 fun5()
69 {
70 return foo5;
71 }
fun6()72 struct struct6 fun6()
73 {
74 return foo6;
75 }
fun7()76 struct struct7 fun7()
77 {
78 return foo7;
79 }
fun8()80 struct struct8 fun8()
81 {
82 return foo8;
83 }
fun9()84 struct struct9 fun9()
85 {
86 return foo9;
87 }
fun10()88 struct struct10 fun10()
89 {
90 return foo10;
91 }
fun11()92 struct struct11 fun11()
93 {
94 return foo11;
95 }
fun12()96 struct struct12 fun12()
97 {
98 return foo12;
99 }
fun16()100 struct struct16 fun16()
101 {
102 return foo16;
103 }
104
105 #ifdef PROTOTYPES
Fun1(struct struct1 foo1)106 void Fun1(struct struct1 foo1)
107 #else
108 void Fun1(foo1)
109 struct struct1 foo1;
110 #endif
111 {
112 L1 = foo1;
113 }
114 #ifdef PROTOTYPES
Fun2(struct struct2 foo2)115 void Fun2(struct struct2 foo2)
116 #else
117 void Fun2(foo2)
118 struct struct2 foo2;
119 #endif
120 {
121 L2 = foo2;
122 }
123 #ifdef PROTOTYPES
Fun3(struct struct3 foo3)124 void Fun3(struct struct3 foo3)
125 #else
126 void Fun3(foo3)
127 struct struct3 foo3;
128 #endif
129 {
130 L3 = foo3;
131 }
132 #ifdef PROTOTYPES
Fun4(struct struct4 foo4)133 void Fun4(struct struct4 foo4)
134 #else
135 void Fun4(foo4)
136 struct struct4 foo4;
137 #endif
138 {
139 L4 = foo4;
140 }
141 #ifdef PROTOTYPES
Fun5(struct struct5 foo5)142 void Fun5(struct struct5 foo5)
143 #else
144 void Fun5(foo5)
145 struct struct5 foo5;
146 #endif
147 {
148 L5 = foo5;
149 }
150 #ifdef PROTOTYPES
Fun6(struct struct6 foo6)151 void Fun6(struct struct6 foo6)
152 #else
153 void Fun6(foo6)
154 struct struct6 foo6;
155 #endif
156 {
157 L6 = foo6;
158 }
159 #ifdef PROTOTYPES
Fun7(struct struct7 foo7)160 void Fun7(struct struct7 foo7)
161 #else
162 void Fun7(foo7)
163 struct struct7 foo7;
164 #endif
165 {
166 L7 = foo7;
167 }
168 #ifdef PROTOTYPES
Fun8(struct struct8 foo8)169 void Fun8(struct struct8 foo8)
170 #else
171 void Fun8(foo8)
172 struct struct8 foo8;
173 #endif
174 {
175 L8 = foo8;
176 }
177 #ifdef PROTOTYPES
Fun9(struct struct9 foo9)178 void Fun9(struct struct9 foo9)
179 #else
180 void Fun9(foo9)
181 struct struct9 foo9;
182 #endif
183 {
184 L9 = foo9;
185 }
186 #ifdef PROTOTYPES
Fun10(struct struct10 foo10)187 void Fun10(struct struct10 foo10)
188 #else
189 void Fun10(foo10)
190 struct struct10 foo10;
191 #endif
192 {
193 L10 = foo10;
194 }
195 #ifdef PROTOTYPES
Fun11(struct struct11 foo11)196 void Fun11(struct struct11 foo11)
197 #else
198 void Fun11(foo11)
199 struct struct11 foo11;
200 #endif
201 {
202 L11 = foo11;
203 }
204 #ifdef PROTOTYPES
Fun12(struct struct12 foo12)205 void Fun12(struct struct12 foo12)
206 #else
207 void Fun12(foo12)
208 struct struct12 foo12;
209 #endif
210 {
211 L12 = foo12;
212 }
213 #ifdef PROTOTYPES
Fun16(struct struct16 foo16)214 void Fun16(struct struct16 foo16)
215 #else
216 void Fun16(foo16)
217 struct struct16 foo16;
218 #endif
219 {
220 L16 = foo16;
221 }
222
main()223 int main()
224 {
225 #ifdef usestubs
226 set_debug_traps();
227 breakpoint();
228 #endif
229
230 /* TEST C FUNCTIONS */
231 L1 = fun1();
232 L2 = fun2();
233 L3 = fun3();
234 L4 = fun4();
235 L5 = fun5();
236 L6 = fun6();
237 L7 = fun7();
238 L8 = fun8();
239 L9 = fun9();
240 L10 = fun10();
241 L11 = fun11();
242 L12 = fun12();
243 L16 = fun16();
244
245 foo1.a = foo2.a = foo3.a = foo4.a = foo5.a = foo6.a = foo7.a = foo8.a =
246 foo9.a = foo10.a = foo11.a = foo12.a = foo16.a = '$';
247
248 Fun1(foo1);
249 Fun2(foo2);
250 Fun3(foo3);
251 Fun4(foo4);
252 Fun5(foo5);
253 Fun6(foo6);
254 Fun7(foo7);
255 Fun8(foo8);
256 Fun9(foo9);
257 Fun10(foo10);
258 Fun11(foo11);
259 Fun12(foo12);
260 Fun16(foo16);
261
262 return 0;
263 }
264