summaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-16 14:30:30 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-16 14:30:30 +0000
commit18642e8117dfcc713fd39b441903a326e822e49d (patch)
treef298b6a8ab665cca059213feb203fba548eb4643 /gcc/tree-inline.c
parentdb19f75ea0d00fb10e5a8fe29e16b8b99ef608df (diff)
downloadgcc-18642e8117dfcc713fd39b441903a326e822e49d.tar.gz
PR c++/48999
* tree-inline.c (copy_statement_list): Put back recursion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173793 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index fc8c88fea9b..8ac3fed20dd 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -662,6 +662,11 @@ copy_statement_list (tree *tp)
for (; !tsi_end_p (oi); tsi_next (&oi))
{
tree stmt = tsi_stmt (oi);
+ if (TREE_CODE (stmt) == STATEMENT_LIST)
+ /* This copy is not redundant; tsi_link_after will smash this
+ STATEMENT_LIST into the end of the one we're building, and we
+ don't want to do that with the original. */
+ copy_statement_list (&stmt);
tsi_link_after (&ni, stmt, TSI_CONTINUE_LINKING);
}
}