summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gimplify.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eed29f04cce..17be451977d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2011-12-12 Torvald Riegel <triegel@redhat.com>
+ * gimplify.c (voidify_wrapper_expr): Add default handling for
+ outermost wrapper.
+
+2011-12-12 Torvald Riegel <triegel@redhat.com>
+
* tree-ssa-tail-merge.c (gimple_equal_p): Don't treat transaction
commits as equal.
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index f548e703390..fe8d2f801a3 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -1081,6 +1081,15 @@ voidify_wrapper_expr (tree wrapper, tree temp)
break;
default:
+ /* Assume that any tree upon which voidify_wrapper_expr is
+ directly called is a wrapper, and that its body is op0. */
+ if (p == &wrapper)
+ {
+ TREE_SIDE_EFFECTS (*p) = 1;
+ TREE_TYPE (*p) = void_type_node;
+ p = &TREE_OPERAND (*p, 0);
+ break;
+ }
goto out;
}
}