aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-03-15 18:03:02 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-03-15 18:03:02 +0100
commit6019a098c12286a315f0847e8d4aa67750b641e6 (patch)
tree8c78a841d628484f5f315ff4a4c5f6f29027478a
parent97ffcedf400bfeb36abb086a5457935e0350f0a9 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/dwarf2out.c12
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)))
{