1/* Copyright 1996, 1999 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 2 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 this program; if not, write to the Free Software 15 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 16 17 Please email any bugs, comments, and/or additions to this file to: 18 bug-gdb@prep.ai.mit.edu */ 19 20struct struct1 { char a;}; 21struct struct2 { char a, b;}; 22struct struct3 { char a, b, c; }; 23struct struct4 { char a, b, c, d; }; 24struct struct5 { char a, b, c, d, e; }; 25struct struct6 { char a, b, c, d, e, f; }; 26struct struct7 { char a, b, c, d, e, f, g; }; 27struct struct8 { char a, b, c, d, e, f, g, h; }; 28struct struct9 { char a, b, c, d, e, f, g, h, i; }; 29struct struct10 { char a, b, c, d, e, f, g, h, i, j; }; 30struct struct11 { char a, b, c, d, e, f, g, h, i, j, k; }; 31struct struct12 { char a, b, c, d, e, f, g, h, i, j, k, l; }; 32struct struct16 { char a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p; }; 33 34struct struct1 foo1 = {'1'}, L1; 35struct struct2 foo2 = { 'a', 'b'}, L2; 36struct struct3 foo3 = { 'A', 'B', 'C'}, L3; 37struct struct4 foo4 = {'1', '2', '3', '4'}, L4; 38struct struct5 foo5 = {'a', 'b', 'c', 'd', 'e'}, L5; 39struct struct6 foo6 = {'A', 'B', 'C', 'D', 'E', 'F'}, L6; 40struct struct7 foo7 = {'1', '2', '3', '4', '5', '6', '7'}, L7; 41struct struct8 foo8 = {'1', '2', '3', '4', '5', '6', '7', '8'}, L8; 42struct struct9 foo9 = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'}, L9; 43struct struct10 foo10 = { 44 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}, L10; 45struct struct11 foo11 = { 46 '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B'}, L11; 47struct struct12 foo12 = { 48 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'}, L12; 49struct struct16 foo16 = { 50 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'}, L16; 51 52struct struct1 fun1() 53{ 54 return foo1; 55} 56struct struct2 fun2() 57{ 58 return foo2; 59} 60struct struct3 fun3() 61{ 62 return foo3; 63} 64struct struct4 fun4() 65{ 66 return foo4; 67} 68struct struct5 fun5() 69{ 70 return foo5; 71} 72struct struct6 fun6() 73{ 74 return foo6; 75} 76struct struct7 fun7() 77{ 78 return foo7; 79} 80struct struct8 fun8() 81{ 82 return foo8; 83} 84struct struct9 fun9() 85{ 86 return foo9; 87} 88struct struct10 fun10() 89{ 90 return foo10; 91} 92struct struct11 fun11() 93{ 94 return foo11; 95} 96struct struct12 fun12() 97{ 98 return foo12; 99} 100struct struct16 fun16() 101{ 102 return foo16; 103} 104 105#ifdef PROTOTYPES 106void Fun1(struct struct1 foo1) 107#else 108void Fun1(foo1) 109 struct struct1 foo1; 110#endif 111{ 112 L1 = foo1; 113} 114#ifdef PROTOTYPES 115void Fun2(struct struct2 foo2) 116#else 117void Fun2(foo2) 118 struct struct2 foo2; 119#endif 120{ 121 L2 = foo2; 122} 123#ifdef PROTOTYPES 124void Fun3(struct struct3 foo3) 125#else 126void Fun3(foo3) 127 struct struct3 foo3; 128#endif 129{ 130 L3 = foo3; 131} 132#ifdef PROTOTYPES 133void Fun4(struct struct4 foo4) 134#else 135void Fun4(foo4) 136 struct struct4 foo4; 137#endif 138{ 139 L4 = foo4; 140} 141#ifdef PROTOTYPES 142void Fun5(struct struct5 foo5) 143#else 144void Fun5(foo5) 145 struct struct5 foo5; 146#endif 147{ 148 L5 = foo5; 149} 150#ifdef PROTOTYPES 151void Fun6(struct struct6 foo6) 152#else 153void Fun6(foo6) 154 struct struct6 foo6; 155#endif 156{ 157 L6 = foo6; 158} 159#ifdef PROTOTYPES 160void Fun7(struct struct7 foo7) 161#else 162void Fun7(foo7) 163 struct struct7 foo7; 164#endif 165{ 166 L7 = foo7; 167} 168#ifdef PROTOTYPES 169void Fun8(struct struct8 foo8) 170#else 171void Fun8(foo8) 172 struct struct8 foo8; 173#endif 174{ 175 L8 = foo8; 176} 177#ifdef PROTOTYPES 178void Fun9(struct struct9 foo9) 179#else 180void Fun9(foo9) 181 struct struct9 foo9; 182#endif 183{ 184 L9 = foo9; 185} 186#ifdef PROTOTYPES 187void Fun10(struct struct10 foo10) 188#else 189void Fun10(foo10) 190 struct struct10 foo10; 191#endif 192{ 193 L10 = foo10; 194} 195#ifdef PROTOTYPES 196void Fun11(struct struct11 foo11) 197#else 198void Fun11(foo11) 199 struct struct11 foo11; 200#endif 201{ 202 L11 = foo11; 203} 204#ifdef PROTOTYPES 205void Fun12(struct struct12 foo12) 206#else 207void Fun12(foo12) 208 struct struct12 foo12; 209#endif 210{ 211 L12 = foo12; 212} 213#ifdef PROTOTYPES 214void Fun16(struct struct16 foo16) 215#else 216void Fun16(foo16) 217 struct struct16 foo16; 218#endif 219{ 220 L16 = foo16; 221} 222 223int 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