aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorTorvald Riegel <triegel@redhat.com>2011-12-12 12:05:01 +0000
committerTorvald Riegel <torvald@gcc.gnu.org>2011-12-12 12:05:01 +0000
commit5f23640f57cdd908c105b366dda7db7048dc62ef (patch)
tree4394d43e92b3fa9d541f51abeb1c408a4b24f4cb /gcc/gimplify.c
parentfeca8f5a964a16efbe7c9ca22cd8c2539e0f00e9 (diff)
downloadgcc-5f23640f57cdd908c105b366dda7db7048dc62ef.zip
gcc-5f23640f57cdd908c105b366dda7db7048dc62ef.tar.gz
gcc-5f23640f57cdd908c105b366dda7db7048dc62ef.tar.bz2
Add default handling for outermost wrappers in voidify_wrapper_expr.
gcc/ * gimplify.c (voidify_wrapper_expr): Add default handling for outermost wrapper. From-SVN: r182232
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index f548e70..fe8d2f8 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;
}
}