OSDN Git Service

Formatting fixes.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / compile / structs.c
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
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
52 struct struct1  fun1()
53 {
54   return foo1;  
55 }
56 struct struct2  fun2()
57 {
58   return foo2;
59 }
60 struct struct3  fun3()
61 {
62   return foo3;
63 }
64 struct struct4  fun4()
65 {
66   return foo4;
67 }
68 struct struct5  fun5()
69 {
70   return foo5;
71 }
72 struct struct6  fun6()
73 {
74   return foo6;
75 }
76 struct struct7  fun7()
77 {
78   return foo7;
79 }
80 struct struct8  fun8()
81 {
82   return foo8;
83 }
84 struct struct9  fun9()
85 {
86   return foo9;
87 }
88 struct struct10 fun10()
89 {
90   return foo10; 
91 }
92 struct struct11 fun11()
93 {
94   return foo11; 
95 }
96 struct struct12 fun12()
97 {
98   return foo12; 
99 }
100 struct struct16 fun16()
101 {
102   return foo16; 
103 }
104
105 #ifdef PROTOTYPES
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
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
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
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
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
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
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
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
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
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
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
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
214 void Fun16(struct struct16 foo16)
215 #else
216 void Fun16(foo16)
217      struct struct16 foo16;
218 #endif
219 {
220   L16 = foo16; 
221 }
222
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 }