r116311 - in /trunk/gcc: ChangeLog cp/ChangeLog...
jason@gcc.gnu.org
jason@gcc.gnu.org
Mon Aug 21 20:54:00 GMT 2006
Author: jason
Date: Mon Aug 21 20:54:57 2006
New Revision: 116311
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116311
Log:
PR c++/27115
* gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
wrapper. Loop to handle nested wrappers.
(gimplify_bind_expr): Remove temp parameter.
(gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
and STATEMENT_LIST on the rhs.
(gimplify_statement_list): Voidify the STATEMENT_LIST.
(gimplify_expr): Pass pre_p to gimplify_statement_list.
(gimplify_target_expr): Remove special BIND_EXPR handling.
* cp/semantics.c (finish_stmt_expr_expr): Don't try to voidify here,
just leave the expression as it is.
(finish_stmt_expr): If the statement-expression has class type,
wrap it in a TARGET_EXPR.
* cp/cp-gimplify.c (cp_gimplify_init_expr): Don't bother with
CLEANUP_POINT_EXPR.
* cp/except.c (build_throw): Give the CLEANUP_POINT_EXPR void type.
Added:
trunk/gcc/testsuite/g++.dg/abi/forced-sticky.C
trunk/gcc/testsuite/g++.dg/abi/forced.C
trunk/gcc/testsuite/g++.dg/ext/stmtexpr8.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-gimplify.c
trunk/gcc/cp/except.c
trunk/gcc/cp/semantics.c
trunk/gcc/gimplify.c
More information about the Gcc-cvs
mailing list