1 /* This testcase is part of GDB, the GNU debugger.
3 Copyright 1996, 1999, 2003, 2007 Free Software Foundation, Inc.
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
18 Please email any bugs, comments, and/or additions to this file to:
19 bug-gdb@prep.ai.mit.edu */
21 /* Useful abreviations. */
27 typedef long long tll;
30 typedef long double tld;
32 /* Force the type of each field. */
88 struct struct1 {tA a;};
89 struct struct2 {tA a; tB b;};
90 struct struct3 {tA a; tB b; tC c; };
91 struct struct4 {tA a; tB b; tC c; tD d; };
92 struct struct5 {tA a; tB b; tC c; tD d; tE e; };
93 struct struct6 {tA a; tB b; tC c; tD d; tE e; tF f; };
94 struct struct7 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; };
95 struct struct8 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; };
96 struct struct9 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; };
97 struct struct10 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; };
98 struct struct11 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; };
99 struct struct12 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; };
100 struct struct13 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; tM m; };
101 struct struct14 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; tM m; tN n; };
102 struct struct15 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; tM m; tN n; tO o; };
103 struct struct16 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; tM m; tN n; tO o; tP p; };
104 struct struct17 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; tM m; tN n; tO o; tP p; tQ q; };
105 struct struct18 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; tM m; tN n; tO o; tP p; tQ q; tR r; };
107 struct struct1 foo1 = {'1'}, L1;
108 struct struct2 foo2 = {'a','2'}, L2;
109 struct struct3 foo3 = {'1','b','3'}, L3;
110 struct struct4 foo4 = {'a','2','c','4'}, L4;
111 struct struct5 foo5 = {'1','b','3','d','5'}, L5;
112 struct struct6 foo6 = {'a','2','c','4','e','6'}, L6;
113 struct struct7 foo7 = {'1','b','3','d','5','f','7'}, L7;
114 struct struct8 foo8 = {'a','2','c','4','e','6','g','8'}, L8;
115 struct struct9 foo9 = {'1','b','3','d','5','f','7','h','9'}, L9;
116 struct struct10 foo10 = {'a','2','c','4','e','6','g','8','i','A'}, L10;
117 struct struct11 foo11 = {'1','b','3','d','5','f','7','h','9','j','B'}, L11;
118 struct struct12 foo12 = {'a','2','c','4','e','6','g','8','i','A','k','C'}, L12;
119 struct struct13 foo13 = {'1','b','3','d','5','f','7','h','9','j','B','l','D'}, L13;
120 struct struct14 foo14 = {'a','2','c','4','e','6','g','8','i','A','k','C','m','E'}, L14;
121 struct struct15 foo15 = {'1','b','3','d','5','f','7','h','9','j','B','l','D','n','F'}, L15;
122 struct struct16 foo16 = {'a','2','c','4','e','6','g','8','i','A','k','C','m','E','o','G'}, L16;
123 struct struct17 foo17 = {'1','b','3','d','5','f','7','h','9','j','B','l','D','n','F','p','H'}, L17;
124 struct struct18 foo18 = {'a','2','c','4','e','6','g','8','i','A','k','C','m','E','o','G','q','I'}, L18;
126 struct struct1 fun1()
130 struct struct2 fun2()
134 struct struct3 fun3()
138 struct struct4 fun4()
142 struct struct5 fun5()
146 struct struct6 fun6()
150 struct struct7 fun7()
154 struct struct8 fun8()
158 struct struct9 fun9()
162 struct struct10 fun10()
166 struct struct11 fun11()
170 struct struct12 fun12()
174 struct struct13 fun13()
178 struct struct14 fun14()
182 struct struct15 fun15()
186 struct struct16 fun16()
190 struct struct17 fun17()
194 struct struct18 fun18()
200 void Fun1(struct struct1 foo1)
209 void Fun2(struct struct2 foo2)
218 void Fun3(struct struct3 foo3)
227 void Fun4(struct struct4 foo4)
236 void Fun5(struct struct5 foo5)
245 void Fun6(struct struct6 foo6)
254 void Fun7(struct struct7 foo7)
263 void Fun8(struct struct8 foo8)
272 void Fun9(struct struct9 foo9)
281 void Fun10(struct struct10 foo10)
284 struct struct10 foo10;
290 void Fun11(struct struct11 foo11)
293 struct struct11 foo11;
299 void Fun12(struct struct12 foo12)
302 struct struct12 foo12;
308 void Fun13(struct struct13 foo13)
311 struct struct13 foo13;
317 void Fun14(struct struct14 foo14)
320 struct struct14 foo14;
326 void Fun15(struct struct15 foo15)
329 struct struct15 foo15;
335 void Fun16(struct struct16 foo16)
338 struct struct16 foo16;
344 void Fun17(struct struct17 foo17)
347 struct struct17 foo17;
353 void Fun18(struct struct18 foo18)
356 struct struct18 foo18;
365 L1.a = L2.a = L3.a = L4.a = L5.a = L6.a = L7.a = L8.a = L9.a = L10.a = L11.a = L12.a = L13.a = L14.a = L15.a = L16.a = L17.a = L18.a = 'Z';
367 L2.b = L3.b = L4.b = L5.b = L6.b = L7.b = L8.b = L9.b = L10.b = L11.b = L12.b = L13.b = L14.b = L15.b = L16.b = L17.b = L18.b = 'Z';
369 L3.c = L4.c = L5.c = L6.c = L7.c = L8.c = L9.c = L10.c = L11.c = L12.c = L13.c = L14.c = L15.c = L16.c = L17.c = L18.c = 'Z';
371 L4.d = L5.d = L6.d = L7.d = L8.d = L9.d = L10.d = L11.d = L12.d = L13.d = L14.d = L15.d = L16.d = L17.d = L18.d = 'Z';
373 L5.e = L6.e = L7.e = L8.e = L9.e = L10.e = L11.e = L12.e = L13.e = L14.e = L15.e = L16.e = L17.e = L18.e = 'Z';
375 L6.f = L7.f = L8.f = L9.f = L10.f = L11.f = L12.f = L13.f = L14.f = L15.f = L16.f = L17.f = L18.f = 'Z';
377 L7.g = L8.g = L9.g = L10.g = L11.g = L12.g = L13.g = L14.g = L15.g = L16.g = L17.g = L18.g = 'Z';
379 L8.h = L9.h = L10.h = L11.h = L12.h = L13.h = L14.h = L15.h = L16.h = L17.h = L18.h = 'Z';
381 L9.i = L10.i = L11.i = L12.i = L13.i = L14.i = L15.i = L16.i = L17.i = L18.i = 'Z';
383 L10.j = L11.j = L12.j = L13.j = L14.j = L15.j = L16.j = L17.j = L18.j = 'Z';
385 L11.k = L12.k = L13.k = L14.k = L15.k = L16.k = L17.k = L18.k = 'Z';
387 L12.l = L13.l = L14.l = L15.l = L16.l = L17.l = L18.l = 'Z';
389 L13.m = L14.m = L15.m = L16.m = L17.m = L18.m = 'Z';
391 L14.n = L15.n = L16.n = L17.n = L18.n = 'Z';
393 L15.o = L16.o = L17.o = L18.o = 'Z';
395 L16.p = L17.p = L18.p = 'Z';
429 /* An infinite loop that first clears all the variables and then
430 calls each function. This "hack" is to make testing random
431 functions easier - "advance funN" is guaranteed to have always
432 been preceeded by a global variable clearing zed call. */