Revision 134865: http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01945.html
breaks gcc bootstrap: cc1: warnings being treated as errors /export/gnu/src/gcc/gcc/gcc/real.c: In function real_to_integer2: /export/gnu/src/gcc/gcc/gcc/real.c:1387: error: array subscript is negative /export/gnu/src/gcc/gcc/gcc/real.c: In function real_from_integer: /export/gnu/src/gcc/gcc/gcc/real.c:2066: error: array subscript is negative make[5]: *** [real.o] Error 1 make[5]: *** Waiting for unfinished jobs.... The code looks like if ((8 * 8) == (8 * 8)) { high = t.sig[((128 + (8 * 8)) / (8 * 8))-1]; low = t.sig[((128 + (8 * 8)) / (8 * 8))-2]; } else { ((void)(!((8 * 8) == 2*(8 * 8)) ? fancy_abort ("/export/gnu/src/gcc/gcc/gcc/real.c", 1380, __FUNCTION__), 0 : 0)); high = t.sig[((128 + (8 * 8)) / (8 * 8))-1]; high = high << ((8 * 8) - 1) << 1; high |= t.sig[((128 + (8 * 8)) / (8 * 8))-2]; low = t.sig[((128 + (8 * 8)) / (8 * 8))-3]; low = low << ((8 * 8) - 1) << 1; low |= t.sig[((128 + (8 * 8)) / (8 * 8))-4]; } We have low |= t.sig[((128 + (8 * 8)) / (8 * 8))-4]; which is low |= t.sig[-1]; But it never reached. -- Summary: [4.4 Regression]: revision 134865 breaks gcc bootstrap Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36108