diff options
author | Richard Guenther <rguenther@suse.de> | 2009-12-01 14:22:50 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-12-01 14:22:50 +0000 |
commit | ee0192a223e13a84120ccecb628d2350e5c53efb (patch) | |
tree | fbdd945716386e1b08dca6a829800dd13511c1de /gcc | |
parent | 6009ee7b4164ad1ee395b6fe013b7c7037932e57 (diff) | |
download | gcc-ee0192a223e13a84120ccecb628d2350e5c53efb.zip gcc-ee0192a223e13a84120ccecb628d2350e5c53efb.tar.gz gcc-ee0192a223e13a84120ccecb628d2350e5c53efb.tar.bz2 |
tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK to the block of the call when remapping a type.
2009-12-01 Richard Guenther <rguenther@suse.de>
* tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK
to the block of the call when remapping a type.
From-SVN: r154873
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-inline.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f4cd281..939b7bc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-12-01 Richard Guenther <rguenther@suse.de> + + * tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK + to the block of the call when remapping a type. + 2009-12-01 Martin Jambor <mjambor@suse.cz> * cgraph.h (struct cgraph_edge): Reorder fields. Make loop_nest diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 10baf62..3c90941 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1093,10 +1093,10 @@ copy_tree_body_r (tree *tp, int *walk_subtrees, void *data) /* If EXPR has block defined, map it to newly constructed block. When inlining we want EXPRs without block appear in the block - of function call. */ + of function call if we are not remapping a type. */ if (EXPR_P (*tp)) { - new_block = id->block; + new_block = id->remapping_type_depth == 0 ? id->block : NULL; if (TREE_BLOCK (*tp)) { tree *n; |