1 /* Code in this file is generated.  -*- buffer-read-only: t -*- vi:set ro:
2    See the procedure `make_source' in nested-types.exp.  */
3 
4 /* This testcase is part of GDB, the GNU debugger.
5 
6    Copyright 2017-2020 Free Software Foundation, Inc.
7 
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20 
21 struct S10 {
22   enum E10 {A10, B10, C10};
23   union U10 {
24     int a;
25     char c;
26   };
27 
28   int i10;
29   E10 e10;
30   U10 u10;
31 
32   struct S11 {
33     enum E11 {A11, B11, C11};
34     union U11 {
35       int a;
36       char c;
37     };
38 
39     int i11;
40     E11 e11;
41     U11 u11;
42 
43     struct S12 {
44       enum E12 {A12, B12, C12};
45       union U12 {
46         int a;
47         char c;
48       };
49 
50       int i12;
51       E12 e12;
52       U12 u12;
53 
54       struct S13 {
55         enum E13 {A13, B13, C13};
56         union U13 {
57           int a;
58           char c;
59         };
60 
61         int i13;
62         E13 e13;
63         U13 u13;
64 
65         struct S14 {
66           enum E14 {A14, B14, C14};
67           union U14 {
68             int a;
69             char c;
70           };
71 
72           int i14;
73           E14 e14;
74           U14 u14;
75 
76           struct S15 {
77             enum E15 {A15, B15, C15};
78             union U15 {
79               int a;
80               char c;
81             };
82 
83             int i15;
84             E15 e15;
85             U15 u15;
86 
87             struct S16 {
88               enum E16 {A16, B16, C16};
89               union U16 {
90                 int a;
91                 char c;
92               };
93 
94               int i16;
95               E16 e16;
96               U16 u16;
97 
98               struct S17 {
99                 enum E17 {A17, B17, C17};
100                 union U17 {
101                   int a;
102                   char c;
103                 };
104 
105                 int i17;
106                 E17 e17;
107                 U17 u17;
108 
109                 struct S18 {
110                   enum E18 {A18, B18, C18};
111                   union U18 {
112                     int a;
113                     char c;
114                   };
115 
116                   int i18;
117                   E18 e18;
118                   U18 u18;
119 
120                   struct S19 {
121                     enum E19 {A19, B19, C19};
122                     union U19 {
123                       int a;
124                       char c;
125                     };
126 
127                     int i19;
128                     E19 e19;
129                     U19 u19;
130 
131                   };
132                 };
133               };
134             };
135           };
136         };
137       };
138     };
139   };
140   struct S21 {
141     enum E21 {A21, B21, C21};
142     union U21 {
143       int a;
144       char c;
145     };
146 
147     int i21;
148     E21 e21;
149     U21 u21;
150 
151     struct S22 {
152       enum E22 {A22, B22, C22};
153       union U22 {
154         int a;
155         char c;
156       };
157 
158       int i22;
159       E22 e22;
160       U22 u22;
161 
162       struct S23 {
163         enum E23 {A23, B23, C23};
164         union U23 {
165           int a;
166           char c;
167         };
168 
169         int i23;
170         E23 e23;
171         U23 u23;
172 
173         struct S24 {
174           enum E24 {A24, B24, C24};
175           union U24 {
176             int a;
177             char c;
178           };
179 
180           int i24;
181           E24 e24;
182           U24 u24;
183 
184           struct S25 {
185             enum E25 {A25, B25, C25};
186             union U25 {
187               int a;
188               char c;
189             };
190 
191             int i25;
192             E25 e25;
193             U25 u25;
194 
195             struct S26 {
196               enum E26 {A26, B26, C26};
197               union U26 {
198                 int a;
199                 char c;
200               };
201 
202               int i26;
203               E26 e26;
204               U26 u26;
205 
206               struct S27 {
207                 enum E27 {A27, B27, C27};
208                 union U27 {
209                   int a;
210                   char c;
211                 };
212 
213                 int i27;
214                 E27 e27;
215                 U27 u27;
216 
217                 struct S28 {
218                   enum E28 {A28, B28, C28};
219                   union U28 {
220                     int a;
221                     char c;
222                   };
223 
224                   int i28;
225                   E28 e28;
226                   U28 u28;
227 
228                   struct S29 {
229                     enum E29 {A29, B29, C29};
230                     union U29 {
231                       int a;
232                       char c;
233                     };
234 
235                     int i29;
236                     E29 e29;
237                     U29 u29;
238 
239                   };
240                 };
241               };
242             };
243           };
244         };
245       };
246     };
247   };
248   struct S31 {
249     enum E31 {A31, B31, C31};
250     union U31 {
251       int a;
252       char c;
253     };
254 
255     int i31;
256     E31 e31;
257     U31 u31;
258 
259     struct S32 {
260       enum E32 {A32, B32, C32};
261       union U32 {
262         int a;
263         char c;
264       };
265 
266       int i32;
267       E32 e32;
268       U32 u32;
269 
270       struct S33 {
271         enum E33 {A33, B33, C33};
272         union U33 {
273           int a;
274           char c;
275         };
276 
277         int i33;
278         E33 e33;
279         U33 u33;
280 
281         struct S34 {
282           enum E34 {A34, B34, C34};
283           union U34 {
284             int a;
285             char c;
286           };
287 
288           int i34;
289           E34 e34;
290           U34 u34;
291 
292           struct S35 {
293             enum E35 {A35, B35, C35};
294             union U35 {
295               int a;
296               char c;
297             };
298 
299             int i35;
300             E35 e35;
301             U35 u35;
302 
303             struct S36 {
304               enum E36 {A36, B36, C36};
305               union U36 {
306                 int a;
307                 char c;
308               };
309 
310               int i36;
311               E36 e36;
312               U36 u36;
313 
314               struct S37 {
315                 enum E37 {A37, B37, C37};
316                 union U37 {
317                   int a;
318                   char c;
319                 };
320 
321                 int i37;
322                 E37 e37;
323                 U37 u37;
324 
325                 struct S38 {
326                   enum E38 {A38, B38, C38};
327                   union U38 {
328                     int a;
329                     char c;
330                   };
331 
332                   int i38;
333                   E38 e38;
334                   U38 u38;
335 
336                   struct S39 {
337                     enum E39 {A39, B39, C39};
338                     union U39 {
339                       int a;
340                       char c;
341                     };
342 
343                     int i39;
344                     E39 e39;
345                     U39 u39;
346 
347                   };
348                 };
349               };
350             };
351           };
352         };
353       };
354     };
355   };
356   struct S41 {
357     enum E41 {A41, B41, C41};
358     union U41 {
359       int a;
360       char c;
361     };
362 
363     int i41;
364     E41 e41;
365     U41 u41;
366 
367     struct S42 {
368       enum E42 {A42, B42, C42};
369       union U42 {
370         int a;
371         char c;
372       };
373 
374       int i42;
375       E42 e42;
376       U42 u42;
377 
378       struct S43 {
379         enum E43 {A43, B43, C43};
380         union U43 {
381           int a;
382           char c;
383         };
384 
385         int i43;
386         E43 e43;
387         U43 u43;
388 
389         struct S44 {
390           enum E44 {A44, B44, C44};
391           union U44 {
392             int a;
393             char c;
394           };
395 
396           int i44;
397           E44 e44;
398           U44 u44;
399 
400           struct S45 {
401             enum E45 {A45, B45, C45};
402             union U45 {
403               int a;
404               char c;
405             };
406 
407             int i45;
408             E45 e45;
409             U45 u45;
410 
411             struct S46 {
412               enum E46 {A46, B46, C46};
413               union U46 {
414                 int a;
415                 char c;
416               };
417 
418               int i46;
419               E46 e46;
420               U46 u46;
421 
422               struct S47 {
423                 enum E47 {A47, B47, C47};
424                 union U47 {
425                   int a;
426                   char c;
427                 };
428 
429                 int i47;
430                 E47 e47;
431                 U47 u47;
432 
433                 struct S48 {
434                   enum E48 {A48, B48, C48};
435                   union U48 {
436                     int a;
437                     char c;
438                   };
439 
440                   int i48;
441                   E48 e48;
442                   U48 u48;
443 
444                   struct S49 {
445                     enum E49 {A49, B49, C49};
446                     union U49 {
447                       int a;
448                       char c;
449                     };
450 
451                     int i49;
452                     E49 e49;
453                     U49 u49;
454 
455                   };
456                 };
457               };
458             };
459           };
460         };
461       };
462     };
463   };
464   struct S51 {
465     enum E51 {A51, B51, C51};
466     union U51 {
467       int a;
468       char c;
469     };
470 
471     int i51;
472     E51 e51;
473     U51 u51;
474 
475     struct S52 {
476       enum E52 {A52, B52, C52};
477       union U52 {
478         int a;
479         char c;
480       };
481 
482       int i52;
483       E52 e52;
484       U52 u52;
485 
486       struct S53 {
487         enum E53 {A53, B53, C53};
488         union U53 {
489           int a;
490           char c;
491         };
492 
493         int i53;
494         E53 e53;
495         U53 u53;
496 
497         struct S54 {
498           enum E54 {A54, B54, C54};
499           union U54 {
500             int a;
501             char c;
502           };
503 
504           int i54;
505           E54 e54;
506           U54 u54;
507 
508           struct S55 {
509             enum E55 {A55, B55, C55};
510             union U55 {
511               int a;
512               char c;
513             };
514 
515             int i55;
516             E55 e55;
517             U55 u55;
518 
519             struct S56 {
520               enum E56 {A56, B56, C56};
521               union U56 {
522                 int a;
523                 char c;
524               };
525 
526               int i56;
527               E56 e56;
528               U56 u56;
529 
530               struct S57 {
531                 enum E57 {A57, B57, C57};
532                 union U57 {
533                   int a;
534                   char c;
535                 };
536 
537                 int i57;
538                 E57 e57;
539                 U57 u57;
540 
541                 struct S58 {
542                   enum E58 {A58, B58, C58};
543                   union U58 {
544                     int a;
545                     char c;
546                   };
547 
548                   int i58;
549                   E58 e58;
550                   U58 u58;
551 
552                   struct S59 {
553                     enum E59 {A59, B59, C59};
554                     union U59 {
555                       int a;
556                       char c;
557                     };
558 
559                     int i59;
560                     E59 e59;
561                     U59 u59;
562 
563                   };
564                 };
565               };
566             };
567           };
568         };
569       };
570     };
571   };
572 };
573 
574 int
main()575 main ()
576 {
577   S10 s10;
578   S10::S11 s11;
579   S10::S11::S12 s12;
580   S10::S11::S12::S13 s13;
581   S10::S11::S12::S13::S14 s14;
582   S10::S11::S12::S13::S14::S15 s15;
583   S10::S11::S12::S13::S14::S15::S16 s16;
584   S10::S11::S12::S13::S14::S15::S16::S17 s17;
585   S10::S11::S12::S13::S14::S15::S16::S17::S18 s18;
586   S10::S11::S12::S13::S14::S15::S16::S17::S18::S19 s19;
587 
588   S10::S21 s21;
589   S10::S21::S22 s22;
590   S10::S21::S22::S23 s23;
591   S10::S21::S22::S23::S24 s24;
592   S10::S21::S22::S23::S24::S25 s25;
593   S10::S21::S22::S23::S24::S25::S26 s26;
594   S10::S21::S22::S23::S24::S25::S26::S27 s27;
595   S10::S21::S22::S23::S24::S25::S26::S27::S28 s28;
596   S10::S21::S22::S23::S24::S25::S26::S27::S28::S29 s29;
597 
598   S10::S31 s31;
599   S10::S31::S32 s32;
600   S10::S31::S32::S33 s33;
601   S10::S31::S32::S33::S34 s34;
602   S10::S31::S32::S33::S34::S35 s35;
603   S10::S31::S32::S33::S34::S35::S36 s36;
604   S10::S31::S32::S33::S34::S35::S36::S37 s37;
605   S10::S31::S32::S33::S34::S35::S36::S37::S38 s38;
606   S10::S31::S32::S33::S34::S35::S36::S37::S38::S39 s39;
607 
608   S10::S41 s41;
609   S10::S41::S42 s42;
610   S10::S41::S42::S43 s43;
611   S10::S41::S42::S43::S44 s44;
612   S10::S41::S42::S43::S44::S45 s45;
613   S10::S41::S42::S43::S44::S45::S46 s46;
614   S10::S41::S42::S43::S44::S45::S46::S47 s47;
615   S10::S41::S42::S43::S44::S45::S46::S47::S48 s48;
616   S10::S41::S42::S43::S44::S45::S46::S47::S48::S49 s49;
617 
618   S10::S51 s51;
619   S10::S51::S52 s52;
620   S10::S51::S52::S53 s53;
621   S10::S51::S52::S53::S54 s54;
622   S10::S51::S52::S53::S54::S55 s55;
623   S10::S51::S52::S53::S54::S55::S56 s56;
624   S10::S51::S52::S53::S54::S55::S56::S57 s57;
625   S10::S51::S52::S53::S54::S55::S56::S57::S58 s58;
626   S10::S51::S52::S53::S54::S55::S56::S57::S58::S59 s59;
627   return 0;
628 }
629