From fe84628425a9b784688e5e7fbbd081acd6261e90 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 6 Apr 2011 13:49:59 +0200 Subject: re PR debug/48466 (Wrong variable locations at -O0 on i686) PR debug/48466 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use as base_reg whatever register reg has been eliminated to, instead of hardcoding STACK_POINTER_REGNUM. * gcc.dg/guality/pr36977.c: New test. * gcc.dg/guality/pr48466.c: New test. From-SVN: r172039 --- gcc/dwarf2out.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/dwarf2out.c') diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 847e8ef..753424a 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -13395,7 +13395,7 @@ based_loc_descr (rtx reg, HOST_WIDE_INT offset, int base_reg = DWARF_FRAME_REGNUM ((fde && fde->drap_reg != INVALID_REGNUM) ? HARD_FRAME_POINTER_REGNUM - : STACK_POINTER_REGNUM); + : REGNO (elim)); return new_reg_loc_descr (base_reg, offset); } -- cgit v1.1