diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/gimplify.c | 9 |
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; } } |