From: Jakub Jelinek Date: Mon, 15 Mar 2010 17:03:02 +0000 (+0100) Subject: dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg has been set. X-Git-Tag: releases/gcc-4.5.0~372 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6019a098c12286a315f0847e8d4aa67750b641e6;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 73ec8c16a915..f5b3467ac2c7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-03-15 Jakub Jelinek + + * 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 PR middle-end/43300 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index c76d54f39c2a..8dfe65d1fbec 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))) {