diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-07-04 19:19:26 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-07-04 19:19:26 +0200 |
commit | bd5b2c2d0788f7e35b489171d945b35537899255 (patch) | |
tree | 57ae03b713a3684669297bd93ce061114e9fae1d | |
parent | 39ba6ab7fb7e302567bc262303f90ec61596b355 (diff) | |
download | gcc-bd5b2c2d0788f7e35b489171d945b35537899255.zip gcc-bd5b2c2d0788f7e35b489171d945b35537899255.tar.gz gcc-bd5b2c2d0788f7e35b489171d945b35537899255.tar.bz2 |
re PR debug/40596 (Bad debug info for local variables on i386.)
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.
From-SVN: r149235
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a4c3a7..6d96786 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-07-04 Jakub Jelinek <jakub@redhat.com> + + 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 <ebotcazou@adacore.com> * postreload.c (reload_combine): Replace CONST_REG with INDEX_REG. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 3324039..01b534c 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); |