diff options
author | Jason Merrill <jason@redhat.com> | 2011-05-16 10:30:30 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-05-16 10:30:30 -0400 |
commit | 62e36382018b546b0ad24ff4c01edd7ef6f373fe (patch) | |
tree | f298b6a8ab665cca059213feb203fba548eb4643 /gcc/tree-inline.c | |
parent | 687027a4d55c087c933ef94868ff5450311e98ca (diff) | |
download | gcc-62e36382018b546b0ad24ff4c01edd7ef6f373fe.zip gcc-62e36382018b546b0ad24ff4c01edd7ef6f373fe.tar.gz gcc-62e36382018b546b0ad24ff4c01edd7ef6f373fe.tar.bz2 |
re PR c++/48999 (FAIL: g++.dg/torture/20090706-1.C due to an ICE on *-*-darwin*)
PR c++/48999
* tree-inline.c (copy_statement_list): Put back recursion.
From-SVN: r173793
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index fc8c88f..8ac3fed 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); } } |