aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-iterator.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 05a4925..c82e892 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
2012-04-17 Uros Bizjak <ubizjak@gmail.com>
PR target/53020
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);