From: Alexandre Oliva Date: Fri, 26 Oct 2001 08:05:08 +0000 (+0000) Subject: tree-inline.c (remap_decl): Don't copy size and size_unit here. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=350ebd54938a632a703636bbb323f62e51471f18;p=gcc.git tree-inline.c (remap_decl): Don't copy size and size_unit here. * tree-inline.c (remap_decl): Don't copy size and size_unit here. (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node. From-SVN: r46536 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b66c8d53507..4fc1b1e337a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-10-26 Alexandre Oliva + + * tree-inline.c (remap_decl): Don't copy size and size_unit here. + (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node. + 2001-10-26 Richard Henderson * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG; diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 5e2c3c47f24..25d0964ec02 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -147,8 +147,6 @@ remap_decl (decl, id) /* The decl T could be a dynamic array or other variable size type, in which case some fields need to be remapped because they may contain SAVE_EXPRs. */ - walk_tree (&DECL_SIZE (t), copy_body_r, id, NULL); - walk_tree (&DECL_SIZE_UNIT (t), copy_body_r, id, NULL); if (TREE_TYPE (t) && TREE_CODE (TREE_TYPE (t)) == ARRAY_TYPE && TYPE_DOMAIN (TREE_TYPE (t))) { @@ -1373,6 +1371,9 @@ remap_save_expr (tp, st_, fn, walk_subtrees) n = splay_tree_insert (st, (splay_tree_key) *tp, (splay_tree_value) t); + /* Make sure we don't remap an already-remapped SAVE_EXPR. */ + splay_tree_insert (st, (splay_tree_key) t, + (splay_tree_value) error_mark_node); } else /* We've already walked into this SAVE_EXPR, so we needn't do it