diff options
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r-- | gcc/cp/expr.c | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c index 39095ec..c49a2f9 100644 --- a/gcc/cp/expr.c +++ b/gcc/cp/expr.c @@ -133,28 +133,8 @@ cplus_expand_expr (exp, target, tmode, modifier) /* We don't need to generate any code for an empty class. */ return const0_rtx; - case STMT_EXPR: - { - tree rtl_expr; - rtx result; - - /* Since expand_expr_stmt calls free_temp_slots after every - expression statement, we must call push_temp_slots here. - Otherwise, any temporaries in use now would be considered - out-of-scope after the first EXPR_STMT from within the - STMT_EXPR. */ - push_temp_slots (); - rtl_expr = expand_start_stmt_expr (); - expand_stmt (STMT_EXPR_STMT (exp)); - expand_end_stmt_expr (rtl_expr); - result = expand_expr (rtl_expr, target, tmode, modifier); - pop_temp_slots (); - return result; - } - break; - default: - break; + return c_expand_expr (exp, target, tmode, modifier); } my_friendly_abort (40); /* NOTREACHED */ |