1 /* In 3.0, this test case (extracted from Bigloo) crashes the compiler in
2 bb-reorder.c. This is a regression from 2.95, already fixed in 3.1.
4 Original bug report is c/5830 by Manuel Serrano <Manuel.Serrano@inria.fr>.
19 extern obj_t create_vector (int);
20 extern obj_t make_pair (obj_t, obj_t);
21 extern long bgl_list_length (obj_t);
22 extern int BGl_equalzf3zf3zz__r4_equivalence_6_2z00 (obj_t, obj_t);
23 extern obj_t BGl_evcompilezd2lambdazd2zz__evcompilez00 (obj_t
26 obj_t BgL_wherez00_41,
32 BGl_evcompilezd2lambdazd2zz__evcompilez00 (obj_t BgL_formalsz00_39,
34 obj_t BgL_wherez00_41,
35 obj_t BgL_namedzf3zf3_42,
38 if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
40 ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
41 BgL_tagzd21966zd2_943:
42 if ((BgL_namedzf3zf3_42 !=
43 ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
44 obj_t BgL_v1042z00_998;
47 BgL_auxz00_4066 = (int) (((long) 3));
48 BgL_v1042z00_998 = create_vector (BgL_auxz00_4066);
51 obj_t BgL_arg1586z00_1000;
52 BgL_arg1586z00_1000 = make_pair (BgL_wherez00_41, BgL_bodyz00_40);
55 BgL_auxz00_4070 = (int) (((long) 2));
56 ((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4070] =
58 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
63 BgL_auxz00_4073 = (int) (((long) 1));
64 ((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4073] =
65 BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
68 obj_t BgL_auxz00_4078;
74 BgL_auxz00_4080 = bgl_list_length (BgL_formalsz00_39);
75 BgL_auxz00_4079 = (BgL_auxz00_4080 + ((long) 37));
78 (obj_t) ((long) (((long) (BgL_auxz00_4079) << 2) | 1));
80 BgL_auxz00_4076 = (int) (((long) 0));
81 ((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4076] =
82 BgL_auxz00_4078, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
84 return BgL_v1042z00_998;
86 obj_t BgL_v1043z00_1005;
89 BgL_auxz00_4085 = (int) (((long) 3));
90 BgL_v1043z00_1005 = create_vector (BgL_auxz00_4085);
94 BgL_auxz00_4088 = (int) (((long) 2));
95 ((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4088] =
96 BgL_bodyz00_40, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
100 BgL_auxz00_4091 = (int) (((long) 1));
101 ((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4091] =
102 BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
105 obj_t BgL_auxz00_4096;
108 long BgL_auxz00_4097;
110 long BgL_auxz00_4098;
111 BgL_auxz00_4098 = bgl_list_length (BgL_formalsz00_39);
112 BgL_auxz00_4097 = (BgL_auxz00_4098 + ((long) 42));
115 (obj_t) ((long) (((long) (BgL_auxz00_4097) << 2) | 1));
117 BgL_auxz00_4094 = (int) (((long) 0));
118 ((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4094] =
119 BgL_auxz00_4096, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
121 return BgL_v1043z00_1005;
124 if (((((long) BgL_formalsz00_39) & ((1 << 2) - 1)) == 3)) {
125 if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
126 (((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).cdr),
127 ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
128 goto BgL_tagzd21966zd2_943;
130 obj_t BgL_cdrzd21979zd2_953;
131 BgL_cdrzd21979zd2_953 =
132 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).cdr);
133 if (((((long) BgL_cdrzd21979zd2_953) & ((1 << 2) - 1)) == 3)) {
134 if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
135 (((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).cdr),
136 ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
137 goto BgL_tagzd21966zd2_943;
139 obj_t BgL_cdrzd21986zd2_956;
140 BgL_cdrzd21986zd2_956 =
141 ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).cdr);
142 if (((((long) BgL_cdrzd21986zd2_956) & ((1 << 2) - 1)) == 3)) {
143 if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
144 (((((obj_t) ((long) BgL_cdrzd21986zd2_956 - 3))->pair_t).
146 ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
147 goto BgL_tagzd21966zd2_943;
149 obj_t BgL_cdrzd21994zd2_959;
151 obj_t BgL_auxz00_4120;
153 ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).
155 BgL_cdrzd21994zd2_959 =
156 ((((obj_t) ((long) BgL_auxz00_4120 - 3))->pair_t).cdr);
158 if (((((long) BgL_cdrzd21994zd2_959) & ((1 << 2) - 1)) == 3)) {
159 if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
160 (((((obj_t) ((long) BgL_cdrzd21994zd2_959 - 3))->
162 ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
163 goto BgL_tagzd21966zd2_943;
165 int BgL_testz00_4128;
167 obj_t BgL_auxz00_4129;
169 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
172 ((((long) BgL_auxz00_4129) & ((1 << 2) - 1)) == 3);
174 if (BgL_testz00_4128) {
175 BgL_tagzd21971zd2_948:
176 if ((BgL_namedzf3zf3_42 !=
178 ((long) (((long) (1) << 2) | 2))))) {
179 obj_t BgL_v1052z00_1026;
182 BgL_auxz00_4134 = (int) (((long) 3));
183 BgL_v1052z00_1026 = create_vector (BgL_auxz00_4134);
186 obj_t BgL_arg1606z00_1028;
188 obj_t BgL_v1053z00_1029;
191 BgL_auxz00_4137 = (int) (((long) 3));
193 create_vector (BgL_auxz00_4137);
197 BgL_auxz00_4140 = (int) (((long) 2));
199 (((obj_t) (BgL_v1053z00_1029))->vector_t.
200 obj0))[BgL_auxz00_4140] =
203 ((long) (((long) (3) << 2) | 2))));
207 BgL_auxz00_4143 = (int) (((long) 1));
209 (((obj_t) (BgL_v1053z00_1029))->vector_t.
210 obj0))[BgL_auxz00_4143] =
213 ((long) (((long) (3) << 2) | 2))));
217 BgL_auxz00_4146 = (int) (((long) 0));
219 (((obj_t) (BgL_v1053z00_1029))->vector_t.
220 obj0))[BgL_auxz00_4146] =
223 ((long) (((long) (3) << 2) | 2))));
225 BgL_arg1606z00_1028 = BgL_v1053z00_1029;
229 BgL_auxz00_4149 = (int) (((long) 2));
230 ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
234 ((long) (((long) (3) << 2) | 2))));
239 BgL_auxz00_4152 = (int) (((long) 1));
240 ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
244 ((long) (((long) (3) << 2) | 2))));
247 obj_t BgL_auxz00_4157;
251 (((long) (((long) 55)) << 2) | 1));
252 BgL_auxz00_4155 = (int) (((long) 0));
253 ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
257 ((long) (((long) (3) << 2) | 2))));
259 return BgL_v1052z00_1026;
261 obj_t BgL_v1054z00_1030;
264 BgL_auxz00_4160 = (int) (((long) 3));
265 BgL_v1054z00_1030 = create_vector (BgL_auxz00_4160);
268 obj_t BgL_arg1608z00_1032;
269 BgL_arg1608z00_1032 =
270 make_pair (BgL_bodyz00_40, BgL_formalsz00_39);
273 BgL_auxz00_4164 = (int) (((long) 2));
274 ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
278 ((long) (((long) (3) << 2) | 2))));
283 BgL_auxz00_4167 = (int) (((long) 1));
284 ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
288 ((long) (((long) (3) << 2) | 2))));
291 obj_t BgL_auxz00_4172;
295 (((long) (((long) 56)) << 2) | 1));
296 BgL_auxz00_4170 = (int) (((long) 0));
297 ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
301 ((long) (((long) (3) << 2) | 2))));
303 return BgL_v1054z00_1030;
306 int BgL_testz00_4175;
308 obj_t BgL_auxz00_4176;
310 obj_t BgL_auxz00_4177;
312 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->
315 ((((obj_t) ((long) BgL_auxz00_4177 - 3))->pair_t).
319 ((((long) BgL_auxz00_4176) & ((1 << 2) - 1)) == 3);
321 if (BgL_testz00_4175) {
322 goto BgL_tagzd21971zd2_948;
324 int BgL_testz00_4181;
326 obj_t BgL_auxz00_4182;
328 obj_t BgL_auxz00_4183;
330 obj_t BgL_auxz00_4184;
332 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->
335 ((((obj_t) ((long) BgL_auxz00_4184 - 3))->
339 ((((obj_t) ((long) BgL_auxz00_4183 - 3))->
343 ((((long) BgL_auxz00_4182) & ((1 << 2) - 1)) ==
346 if (BgL_testz00_4181) {
347 goto BgL_tagzd21971zd2_948;
349 goto BgL_tagzd21971zd2_948;
355 int BgL_testz00_4189;
357 obj_t BgL_auxz00_4190;
359 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
362 ((((long) BgL_auxz00_4190) & ((1 << 2) - 1)) == 3);
364 if (BgL_testz00_4189) {
365 goto BgL_tagzd21971zd2_948;
367 int BgL_testz00_4193;
369 obj_t BgL_auxz00_4194;
371 obj_t BgL_auxz00_4195;
373 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
376 ((((obj_t) ((long) BgL_auxz00_4195 - 3))->pair_t).
380 ((((long) BgL_auxz00_4194) & ((1 << 2) - 1)) == 3);
382 if (BgL_testz00_4193) {
383 goto BgL_tagzd21971zd2_948;
385 int BgL_testz00_4199;
387 obj_t BgL_auxz00_4200;
389 obj_t BgL_auxz00_4201;
391 obj_t BgL_auxz00_4202;
393 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->
396 ((((obj_t) ((long) BgL_auxz00_4202 - 3))->
400 ((((obj_t) ((long) BgL_auxz00_4201 - 3))->pair_t).
404 ((((long) BgL_auxz00_4200) & ((1 << 2) - 1)) == 3);
406 if (BgL_testz00_4199) {
407 goto BgL_tagzd21971zd2_948;
409 if ((BgL_namedzf3zf3_42 !=
411 ((long) (((long) (1) << 2) | 2))))) {
412 obj_t BgL_v1050z00_1022;
415 BgL_auxz00_4209 = (int) (((long) 3));
417 create_vector (BgL_auxz00_4209);
420 obj_t BgL_arg1604z00_1024;
421 BgL_arg1604z00_1024 =
422 make_pair (BgL_wherez00_41, BgL_bodyz00_40);
425 BgL_auxz00_4213 = (int) (((long) 2));
427 (((obj_t) (BgL_v1050z00_1022))->vector_t.
428 obj0))[BgL_auxz00_4213] =
431 ((long) (((long) (3) << 2) | 2))));
436 BgL_auxz00_4216 = (int) (((long) 1));
437 ((&(((obj_t) (BgL_v1050z00_1022))->vector_t.obj0))
441 ((long) (((long) (3) << 2) | 2))));
444 obj_t BgL_auxz00_4221;
448 (((long) (((long) 50)) << 2) | 1));
449 BgL_auxz00_4219 = (int) (((long) 0));
450 ((&(((obj_t) (BgL_v1050z00_1022))->vector_t.obj0))
454 ((long) (((long) (3) << 2) | 2))));
456 return BgL_v1050z00_1022;
458 obj_t BgL_v1051z00_1025;
461 BgL_auxz00_4224 = (int) (((long) 3));
463 create_vector (BgL_auxz00_4224);
467 BgL_auxz00_4227 = (int) (((long) 2));
468 ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
472 ((long) (((long) (3) << 2) | 2))));
476 BgL_auxz00_4230 = (int) (((long) 1));
477 ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
481 ((long) (((long) (3) << 2) | 2))));
484 obj_t BgL_auxz00_4235;
488 (((long) (((long) 54)) << 2) | 1));
489 BgL_auxz00_4233 = (int) (((long) 0));
490 ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
494 ((long) (((long) (3) << 2) | 2))));
496 return BgL_v1051z00_1025;
504 int BgL_testz00_4238;
506 obj_t BgL_auxz00_4239;
508 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).car);
510 ((((long) BgL_auxz00_4239) & ((1 << 2) - 1)) == 3);
512 if (BgL_testz00_4238) {
513 goto BgL_tagzd21971zd2_948;
515 int BgL_testz00_4242;
517 obj_t BgL_auxz00_4243;
519 ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).
522 ((((long) BgL_auxz00_4243) & ((1 << 2) - 1)) == 3);
524 if (BgL_testz00_4242) {
525 goto BgL_tagzd21971zd2_948;
527 if ((BgL_namedzf3zf3_42 !=
528 ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
529 obj_t BgL_v1048z00_1018;
532 BgL_auxz00_4248 = (int) (((long) 3));
533 BgL_v1048z00_1018 = create_vector (BgL_auxz00_4248);
536 obj_t BgL_arg1602z00_1020;
537 BgL_arg1602z00_1020 =
538 make_pair (BgL_wherez00_41, BgL_bodyz00_40);
541 BgL_auxz00_4252 = (int) (((long) 2));
542 ((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
545 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
550 BgL_auxz00_4255 = (int) (((long) 1));
551 ((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
554 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
557 obj_t BgL_auxz00_4260;
560 (obj_t) ((long) (((long) (((long) 49)) << 2) | 1));
561 BgL_auxz00_4258 = (int) (((long) 0));
562 ((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
565 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
567 return BgL_v1048z00_1018;
569 obj_t BgL_v1049z00_1021;
572 BgL_auxz00_4263 = (int) (((long) 3));
573 BgL_v1049z00_1021 = create_vector (BgL_auxz00_4263);
577 BgL_auxz00_4266 = (int) (((long) 2));
578 ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
581 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
585 BgL_auxz00_4269 = (int) (((long) 1));
586 ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
589 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
592 obj_t BgL_auxz00_4274;
595 (obj_t) ((long) (((long) (((long) 53)) << 2) | 1));
596 BgL_auxz00_4272 = (int) (((long) 0));
597 ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
600 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
602 return BgL_v1049z00_1021;
609 int BgL_testz00_4277;
611 obj_t BgL_auxz00_4278;
613 ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).car);
615 ((((long) BgL_auxz00_4278) & ((1 << 2) - 1)) == 3);
617 if (BgL_testz00_4277) {
618 goto BgL_tagzd21971zd2_948;
620 if ((BgL_namedzf3zf3_42 !=
621 ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
622 obj_t BgL_v1046z00_1014;
625 BgL_auxz00_4283 = (int) (((long) 3));
626 BgL_v1046z00_1014 = create_vector (BgL_auxz00_4283);
629 obj_t BgL_arg1600z00_1016;
630 BgL_arg1600z00_1016 =
631 make_pair (BgL_wherez00_41, BgL_bodyz00_40);
634 BgL_auxz00_4287 = (int) (((long) 2));
635 ((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
638 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
643 BgL_auxz00_4290 = (int) (((long) 1));
644 ((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
647 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
650 obj_t BgL_auxz00_4295;
653 (obj_t) ((long) (((long) (((long) 48)) << 2) | 1));
654 BgL_auxz00_4293 = (int) (((long) 0));
655 ((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
658 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
660 return BgL_v1046z00_1014;
662 obj_t BgL_v1047z00_1017;
665 BgL_auxz00_4298 = (int) (((long) 3));
666 BgL_v1047z00_1017 = create_vector (BgL_auxz00_4298);
670 BgL_auxz00_4301 = (int) (((long) 2));
671 ((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
674 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
678 BgL_auxz00_4304 = (int) (((long) 1));
679 ((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
682 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
685 obj_t BgL_auxz00_4309;
688 (obj_t) ((long) (((long) (((long) 52)) << 2) | 1));
689 BgL_auxz00_4307 = (int) (((long) 0));
690 ((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
693 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
695 return BgL_v1047z00_1017;
701 if ((BgL_namedzf3zf3_42 !=
702 ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
703 obj_t BgL_v1044z00_1010;
706 BgL_auxz00_4314 = (int) (((long) 3));
707 BgL_v1044z00_1010 = create_vector (BgL_auxz00_4314);
710 obj_t BgL_arg1598z00_1012;
711 BgL_arg1598z00_1012 = make_pair (BgL_wherez00_41, BgL_bodyz00_40);
714 BgL_auxz00_4318 = (int) (((long) 2));
715 ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))
718 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
723 BgL_auxz00_4321 = (int) (((long) 1));
724 ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))[BgL_auxz00_4321]
726 BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
729 obj_t BgL_auxz00_4326;
732 (obj_t) ((long) (((long) (((long) 47)) << 2) | 1));
733 BgL_auxz00_4324 = (int) (((long) 0));
734 ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))[BgL_auxz00_4324]
737 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
739 return BgL_v1044z00_1010;
741 obj_t BgL_v1045z00_1013;
744 BgL_auxz00_4329 = (int) (((long) 3));
745 BgL_v1045z00_1013 = create_vector (BgL_auxz00_4329);
749 BgL_auxz00_4332 = (int) (((long) 2));
750 ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4332]
753 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
757 BgL_auxz00_4335 = (int) (((long) 1));
758 ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4335]
760 BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
763 obj_t BgL_auxz00_4340;
766 (obj_t) ((long) (((long) (((long) 51)) << 2) | 1));
767 BgL_auxz00_4338 = (int) (((long) 0));
768 ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4338]
771 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
773 return BgL_v1045z00_1013;