1 /* This testcase is part of GDB, the GNU debugger.
3 Copyright 1996, 1999, 2003 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 2 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, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 Please email any bugs, comments, and/or additions to this file to:
20 bug-gdb@prep.ai.mit.edu */
22 /* Useful abreviations. */
28 typedef long long tll
;
31 typedef long double tld
;
33 /* Force the type of each field. */
89 struct struct1
{tA a
;};
90 struct struct2
{tA a
; tB b
;};
91 struct struct3
{tA a
; tB b
; tC c
; };
92 struct struct4
{tA a
; tB b
; tC c
; tD d
; };
93 struct struct5
{tA a
; tB b
; tC c
; tD d
; tE e
; };
94 struct struct6
{tA a
; tB b
; tC c
; tD d
; tE e
; tF f
; };
95 struct struct7
{tA a
; tB b
; tC c
; tD d
; tE e
; tF f
; tG g
; };
96 struct struct8
{tA a
; tB b
; tC c
; tD d
; tE e
; tF f
; tG g
; tH h
; };
97 struct struct9
{tA a
; tB b
; tC c
; tD d
; tE e
; tF f
; tG g
; tH h
; tI i
; };
98 struct struct10
{tA a
; tB b
; tC c
; tD d
; tE e
; tF f
; tG g
; tH h
; tI i
; tJ j
; };
99 struct struct11
{tA a
; tB b
; tC c
; tD d
; tE e
; tF f
; tG g
; tH h
; tI i
; tJ j
; tK k
; };
100 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
; };
101 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
; };
102 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
; };
103 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
; };
104 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
; };
105 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
; };
106 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
; };
108 struct struct1 foo1
= {'1'}, L1
;
109 struct struct2 foo2
= {'a','2'}, L2
;
110 struct struct3 foo3
= {'1','b','3'}, L3
;
111 struct struct4 foo4
= {'a','2','c','4'}, L4
;
112 struct struct5 foo5
= {'1','b','3','d','5'}, L5
;
113 struct struct6 foo6
= {'a','2','c','4','e','6'}, L6
;
114 struct struct7 foo7
= {'1','b','3','d','5','f','7'}, L7
;
115 struct struct8 foo8
= {'a','2','c','4','e','6','g','8'}, L8
;
116 struct struct9 foo9
= {'1','b','3','d','5','f','7','h','9'}, L9
;
117 struct struct10 foo10
= {'a','2','c','4','e','6','g','8','i','A'}, L10
;
118 struct struct11 foo11
= {'1','b','3','d','5','f','7','h','9','j','B'}, L11
;
119 struct struct12 foo12
= {'a','2','c','4','e','6','g','8','i','A','k','C'}, L12
;
120 struct struct13 foo13
= {'1','b','3','d','5','f','7','h','9','j','B','l','D'}, L13
;
121 struct struct14 foo14
= {'a','2','c','4','e','6','g','8','i','A','k','C','m','E'}, L14
;
122 struct struct15 foo15
= {'1','b','3','d','5','f','7','h','9','j','B','l','D','n','F'}, L15
;
123 struct struct16 foo16
= {'a','2','c','4','e','6','g','8','i','A','k','C','m','E','o','G'}, L16
;
124 struct struct17 foo17
= {'1','b','3','d','5','f','7','h','9','j','B','l','D','n','F','p','H'}, L17
;
125 struct struct18 foo18
= {'a','2','c','4','e','6','g','8','i','A','k','C','m','E','o','G','q','I'}, L18
;
127 struct struct1
fun1()
131 struct struct2
fun2()
135 struct struct3
fun3()
139 struct struct4
fun4()
143 struct struct5
fun5()
147 struct struct6
fun6()
151 struct struct7
fun7()
155 struct struct8
fun8()
159 struct struct9
fun9()
163 struct struct10
fun10()
167 struct struct11
fun11()
171 struct struct12
fun12()
175 struct struct13
fun13()
179 struct struct14
fun14()
183 struct struct15
fun15()
187 struct struct16
fun16()
191 struct struct17
fun17()
195 struct struct18
fun18()
201 void Fun1(struct struct1 foo1
)
210 void Fun2(struct struct2 foo2
)
219 void Fun3(struct struct3 foo3
)
228 void Fun4(struct struct4 foo4
)
237 void Fun5(struct struct5 foo5
)
246 void Fun6(struct struct6 foo6
)
255 void Fun7(struct struct7 foo7
)
264 void Fun8(struct struct8 foo8
)
273 void Fun9(struct struct9 foo9
)
282 void Fun10(struct struct10 foo10
)
285 struct struct10 foo10
;
291 void Fun11(struct struct11 foo11
)
294 struct struct11 foo11
;
300 void Fun12(struct struct12 foo12
)
303 struct struct12 foo12
;
309 void Fun13(struct struct13 foo13
)
312 struct struct13 foo13
;
318 void Fun14(struct struct14 foo14
)
321 struct struct14 foo14
;
327 void Fun15(struct struct15 foo15
)
330 struct struct15 foo15
;
336 void Fun16(struct struct16 foo16
)
339 struct struct16 foo16
;
345 void Fun17(struct struct17 foo17
)
348 struct struct17 foo17
;
354 void Fun18(struct struct18 foo18
)
357 struct struct18 foo18
;
366 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';
368 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';
370 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';
372 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';
374 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';
376 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';
378 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';
380 L8
.h
= L9
.h
= L10
.h
= L11
.h
= L12
.h
= L13
.h
= L14
.h
= L15
.h
= L16
.h
= L17
.h
= L18
.h
= 'Z';
382 L9
.i
= L10
.i
= L11
.i
= L12
.i
= L13
.i
= L14
.i
= L15
.i
= L16
.i
= L17
.i
= L18
.i
= 'Z';
384 L10
.j
= L11
.j
= L12
.j
= L13
.j
= L14
.j
= L15
.j
= L16
.j
= L17
.j
= L18
.j
= 'Z';
386 L11
.k
= L12
.k
= L13
.k
= L14
.k
= L15
.k
= L16
.k
= L17
.k
= L18
.k
= 'Z';
388 L12
.l
= L13
.l
= L14
.l
= L15
.l
= L16
.l
= L17
.l
= L18
.l
= 'Z';
390 L13
.m
= L14
.m
= L15
.m
= L16
.m
= L17
.m
= L18
.m
= 'Z';
392 L14
.n
= L15
.n
= L16
.n
= L17
.n
= L18
.n
= 'Z';
394 L15
.o
= L16
.o
= L17
.o
= L18
.o
= 'Z';
396 L16
.p
= L17
.p
= L18
.p
= 'Z';
430 /* An infinite loop that first clears all the variables and then
431 calls each function. This "hack" is to make testing random
432 functions easier - "advance funN" is guaranteed to have always
433 been preceeded by a global variable clearing zed call. */