aboutsummaryrefslogtreecommitdiff
path: root/gcc/var-tracking.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2011-11-01 02:09:00 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2011-11-01 02:09:00 +0000
commit5a9fbcf14adbf0aef998c7b205298a96a7bd8841 (patch)
tree312250e8d8088ea8f413facab65cc217f6170c86 /gcc/var-tracking.c
parent03e0010d71efedb4a5a9718a68fc4ffdd9e24f5b (diff)
downloadgcc-5a9fbcf14adbf0aef998c7b205298a96a7bd8841.zip
gcc-5a9fbcf14adbf0aef998c7b205298a96a7bd8841.tar.gz
gcc-5a9fbcf14adbf0aef998c7b205298a96a7bd8841.tar.bz2
re PR debug/50869 (ice in vt_expand_var_loc_chain)
PR debug/50869 * cselib.c (cfa_base_preserved_regno): Initialize. (cselib_expand_value_rtx_1): Don't expand it. * var-tracking.c (vt_expand_var_loc_chain): Initialize depth. Check it's only zero if result is NULL. From-SVN: r180725
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r--gcc/var-tracking.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 44bab38..11d4efd 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -7764,7 +7764,7 @@ vt_expand_var_loc_chain (variable var, bitmap regs, void *data, bool *pendrecp)
bool pending_recursion;
rtx loc_from = NULL;
struct elt_loc_list *cloc = NULL;
- int depth, saved_depth = elcd->depth;
+ int depth = 0, saved_depth = elcd->depth;
/* Clear all backlinks pointing at this, so that we're not notified
while we're active. */
@@ -7842,6 +7842,8 @@ vt_expand_var_loc_chain (variable var, bitmap regs, void *data, bool *pendrecp)
VAR_LOC_FROM (var) = loc_from;
VAR_LOC_DEPTH (var) = depth;
+ gcc_checking_assert (!depth == !result);
+
elcd->depth = update_depth (saved_depth, depth);
/* Indicate whether any of the dependencies are pending recursion