voidify_wrapper_expr didn't handle MUST_NOT_THROW_EXPR before, but was
used by the C++ side gimplify function for MUST_NOT_THROW_EXPR.  Handle
it like other wrappers which have the inner part in operand 0.

OK for trunk?
commit 9cb965d2a5cf9ca6708ee85929784982253ded7a
Author: Torvald Riegel <trie...@redhat.com>
Date:   Mon Nov 21 00:25:08 2011 +0100

    Handle MUST_NOT_THROW_EXPR in voidify_wrapper_expr.
    
        gcc/
        * gimplify.c (voidify_wrapper_expr): Handle MUST_NOT_THROW_EXPR.

diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index cfe6696..2cd48de 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -1050,6 +1050,7 @@ voidify_wrapper_expr (tree wrapper, tree temp)
            case CLEANUP_POINT_EXPR:
            case TRY_FINALLY_EXPR:
            case TRY_CATCH_EXPR:
+           case MUST_NOT_THROW_EXPR:
              TREE_SIDE_EFFECTS (*p) = 1;
              TREE_TYPE (*p) = void_type_node;
              p = &TREE_OPERAND (*p, 0);

Reply via email to