[Bug c++/27115] [4.0/4.1/4.2 Regression] ICE in cp_expr_size or miscompilation with statement expressions and constructors (and ?: )
--- Comment #6 from jason at gcc dot gnu dot org 2006-08-21 20:55 --- Subject: Bug 27115 Author: jason Date: Mon Aug 21 20:54:57 2006 New Revision: 116311 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=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 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27115
[Bug c++/27115] [4.0/4.1/4.2 Regression] ICE in cp_expr_size or miscompilation with statement expressions and constructors (and ?: )
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-08-14 22:22 --- *** Bug 28730 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27115
[Bug c++/27115] [4.0/4.1/4.2 Regression] ICE in cp_expr_size or miscompilation with statement expressions and constructors (and ?: )
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27115
[Bug c++/27115] [4.0/4.1/4.2 Regression] ICE in cp_expr_size or miscompilation with statement expressions and constructors (and ?: )
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-04-13 01:17 --- for the orginal expample: 3.3.3 ICE 3.4.0 worked 3.2.2 ICE 3.0.4 ICE 2.95.3 ICE I don't think we should call this critical as this is using an extension in the first place and it only ICEs with the extension in fact. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Severity|critical|normal Summary|[4.0/4.1/4.2 Regression] ICE|[4.0/4.1/4.2 Regression] ICE |in cp_expr_size or |in cp_expr_size or |miscompilation with |miscompilation with |statement expressions and |statement expressions and |constructors|constructors (and ?: ) Target Milestone|4.1.1 |4.0.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27115