diff options
author | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2010-07-03 13:14:48 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2010-07-03 13:14:48 +0000 |
commit | 6687b74039b24bf8e3bdd35c4f250d5e08e5d5a3 (patch) | |
tree | b55774ea0747b870b4a0a61bdf00cc381966a112 /gcc/gimplify.c | |
parent | 21ffc3f7092a49cff26ebf6762f4098540539fa6 (diff) | |
download | gcc-6687b74039b24bf8e3bdd35c4f250d5e08e5d5a3.zip gcc-6687b74039b24bf8e3bdd35c4f250d5e08e5d5a3.tar.gz gcc-6687b74039b24bf8e3bdd35c4f250d5e08e5d5a3.tar.bz2 |
* gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
From-SVN: r161774
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r-- | gcc/gimplify.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c index a9c93ac..9eb8fa7 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -868,9 +868,9 @@ mostly_copy_tree_r (tree *tp, int *walk_subtrees, void *data) tree t = *tp; enum tree_code code = TREE_CODE (t); - /* Do not copy SAVE_EXPR or TARGET_EXPR nodes themselves, but copy - their subtrees if we can make sure to do it only once. */ - if (code == SAVE_EXPR || code == TARGET_EXPR) + /* Do not copy SAVE_EXPR, TARGET_EXPR or BIND_EXPR nodes themselves, but + copy their subtrees if we can make sure to do it only once. */ + if (code == SAVE_EXPR || code == TARGET_EXPR || code == BIND_EXPR) { if (data && !pointer_set_insert ((struct pointer_set_t *)data, t)) ; @@ -895,10 +895,7 @@ mostly_copy_tree_r (tree *tp, int *walk_subtrees, void *data) /* Leave the bulk of the work to copy_tree_r itself. */ else - { - gcc_assert (code != BIND_EXPR); - copy_tree_r (tp, walk_subtrees, NULL); - } + copy_tree_r (tp, walk_subtrees, NULL); return NULL_TREE; } |