From fc74cbc4bd40b9f1b0f58abff1fb9efecb5b1d49 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 31 Jul 2008 15:32:51 +0000 Subject: [PATCH] re PR debug/36980 (Bootstrap broken with RTL checking on i586) 2008-07-31 H.J. Lu PR debug/36980 * dwarf2out.c (dwarf2out_frame_debug_expr): Move rule 17 before rule 19. From-SVN: r138424 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 13 +++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e293cc5ec02..2b13a5ddf7a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-07-31 H.J. Lu + + PR debug/36980 + * dwarf2out.c (dwarf2out_frame_debug_expr): Move rule 17 before + rule 19. + 2008-07-31 H.J. Lu PR debug/36976 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 888ac99d187..2fc23a5206b 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -2024,6 +2024,13 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label) gcc_unreachable (); } + /* Rule 17 */ + /* If the source operand of this MEM operation is not a + register, basically the source is return address. Here + we only care how much stack grew and we don't save it. */ + if (!REG_P (src)) + break; + if (REGNO (src) != STACK_POINTER_REGNUM && REGNO (src) != HARD_FRAME_POINTER_REGNUM && (unsigned) REGNO (src) == cfa.reg) @@ -2082,12 +2089,6 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label) break; } } - /* Rule 17 */ - /* If the source operand of this MEM operation is not a - register, basically the source is return address. Here - we only care how much stack grew and we don't save it. */ - if (!REG_P (src)) - break; def_cfa_1 (label, &cfa); { -- 2.30.2