+2001-10-26 Alexandre Oliva <aoliva@redhat.com>
+
+ * 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 <rth@redhat.com>
* config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
/* 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)))
{
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