aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-iterator.c
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2012-04-17 18:28:34 +0000
committerTom de Vries <vries@gcc.gnu.org>2012-04-17 18:28:34 +0000
commita60596b8e5f844177a4abbb0f02b0575d3c4b1cb (patch)
tree0c9c51a7802c6991d1a72f05bd68cbb65cfefaf0 /gcc/tree-iterator.c
parent6c381d9d1cc159cccc577909e6e849e4ac4ac881 (diff)
downloadgcc-a60596b8e5f844177a4abbb0f02b0575d3c4b1cb.zip
gcc-a60596b8e5f844177a4abbb0f02b0575d3c4b1cb.tar.gz
gcc-a60596b8e5f844177a4abbb0f02b0575d3c4b1cb.tar.bz2
tree-iterator.c (append_to_statement_list_1): Handle case that *list_p is not a STMT_LIST.
2012-04-17 Tom de Vries <tom@codesourcery.com> * tree-iterator.c (append_to_statement_list_1): Handle case that *list_p is not a STMT_LIST. From-SVN: r186545
Diffstat (limited to 'gcc/tree-iterator.c')
-rw-r--r--gcc/tree-iterator.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-iterator.c b/gcc/tree-iterator.c
index 44b6bed..e4175fd 100644
--- a/gcc/tree-iterator.c
+++ b/gcc/tree-iterator.c
@@ -74,6 +74,13 @@ append_to_statement_list_1 (tree t, tree *list_p)
}
*list_p = list = alloc_stmt_list ();
}
+ else if (TREE_CODE (list) != STATEMENT_LIST)
+ {
+ tree first = list;
+ *list_p = list = alloc_stmt_list ();
+ i = tsi_last (list);
+ tsi_link_after (&i, first, TSI_CONTINUE_LINKING);
+ }
i = tsi_last (list);
tsi_link_after (&i, t, TSI_CONTINUE_LINKING);