http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57351
--- Comment #10 from ktkachov at gcc dot gnu.org --- (In reply to chrbr from comment #9) > no, in fact, you confused me. The patch was committed correctly :-) > > > On a side note, in your patch you say: > > - t = one_reg_loc_descriptor (REGNO (XVECEXP (regs, 0, i)), > > + reg = REGNO (XVECEXP (regs, 0, i)); > > + t = one_reg_loc_descriptor (DBX_REGISTER_NUMBER (reg), > > > > but reg is undeclared in this scope (changing it to "unsigned reg = ..." > > fixes it) > > which suggests to me there's some other changes? > > In your original patch you also moved the #ifdef LEAF_REG_MAP and associated > > definitions inside the "if (regs == NULL_RTX)" block... > > are you sure you have the good version of this file ? you should have > > t = one_reg_loc_descriptor (dbx_reg_number (XVECEXP (regs, 0, i)), > > so reg is not needed and doesn't need to be initialized. reg is set/used > only in the "/* Simple, contiguous registers. */ part. > > The original failing attachment now passes with the "ARM" patch. Will post > after checking with the testsuite In that post (comment 6) I was citing the patch you attached to this report, which says: - t = one_reg_loc_descriptor (REGNO (XVECEXP (regs, 0, i)), + reg = REGNO (XVECEXP (regs, 0, i)); + t = one_reg_loc_descriptor (DBX_REGISTER_NUMBER (reg), which doesn't apply to trunk cleanly because the trunk version was: t = one_reg_loc_descriptor (dbx_reg_number (XVECEXP (regs, 0, i)), like you said. Presumably that attached part should have been applied instead of your original patch? In any case, from what I understand you reproduced the arm.c ICE and confirmed that it's fixed with your (under test) ARM patch? Thanks, Kyrill In any case, if you have