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

Reply via email to