diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a4c3a7d25d..6d96786c2d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-07-04 Jakub Jelinek + + PR debug/40596 + * dwarf2out.c (based_loc_descr): For crtl->stack_realign_tried + don't check cfa.reg. Instead of cfa.indirect use + fde && fde->drap_reg != INVALID_REGNUM test. + 2009-07-04 Eric Botcazou * postreload.c (reload_combine): Replace CONST_REG with INDEX_REG. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 33240393c8f..01b534c1694 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -10256,11 +10256,10 @@ based_loc_descr (rtx reg, HOST_WIDE_INT offset, is aligned without drap, use stack pointer + offset to access stack variables. */ if (crtl->stack_realign_tried - && cfa.reg == HARD_FRAME_POINTER_REGNUM && reg == frame_pointer_rtx) { int base_reg - = DWARF_FRAME_REGNUM (cfa.indirect + = DWARF_FRAME_REGNUM ((fde && fde->drap_reg != INVALID_REGNUM) ? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM); return new_reg_loc_descr (base_reg, offset);