diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-03-15 18:03:02 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-03-15 18:03:02 +0100 |
commit | 6019a098c12286a315f0847e8d4aa67750b641e6 (patch) | |
tree | 8c78a841d628484f5f315ff4a4c5f6f29027478a | |
parent | 97ffcedf400bfeb36abb086a5457935e0350f0a9 (diff) | |
download | gcc-6019a098c12286a315f0847e8d4aa67750b641e6.zip gcc-6019a098c12286a315f0847e8d4aa67750b641e6.tar.gz gcc-6019a098c12286a315f0847e8d4aa67750b641e6.tar.bz2 |
dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg has been set.
* dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
has been set.
(based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
drap_reg has not been set.
From-SVN: r157463
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 12 |
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 73ec8c1..f5b3467 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-03-15 Jakub Jelinek <jakub@redhat.com> + + * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg + has been set. + (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when + drap_reg has not been set. + 2010-03-15 Michael Matz <matz@suse.de> PR middle-end/43300 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index c76d54f..8dfe65d 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -2760,11 +2760,12 @@ dwarf2out_frame_debug (rtx insn, bool after_p) if (REG_P (n)) { dw_fde_ref fde = current_fde (); - gcc_assert (fde - && fde->drap_reg != INVALID_REGNUM - && fde->vdrap_reg == INVALID_REGNUM); - if (REG_P (n)) - fde->vdrap_reg = REGNO (n); + if (fde) + { + gcc_assert (fde->vdrap_reg == INVALID_REGNUM); + if (REG_P (n)) + fde->vdrap_reg = REGNO (n); + } } handled_one = true; break; @@ -12726,7 +12727,6 @@ based_loc_descr (rtx reg, HOST_WIDE_INT offset, } else if (!optimize && fde - && fde->drap_reg != INVALID_REGNUM && (fde->drap_reg == REGNO (reg) || fde->vdrap_reg == REGNO (reg))) { |