From 62e36382018b546b0ad24ff4c01edd7ef6f373fe Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Mon, 16 May 2011 10:30:30 -0400 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/tree-inline.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ba223fe60f..a46fe6db2db 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-05-16 Jason Merrill + + PR c++/48999 + * tree-inline.c (copy_statement_list): Put back recursion. + 2011-05-16 Georg-Johann Lay PR target/27663 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); } }