[Bug c++/27115] [4.0/4.1/4.2 Regression] ICE in cp_expr_size or miscompilation with statement expressions and constructors (and ?: )

2006-08-21 Thread jason at gcc dot gnu dot org


--- 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 ?: )

2006-08-14 Thread pinskia at gcc dot gnu dot org


--- 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 ?: )

2006-06-04 Thread mmitchel at gcc dot gnu dot org


-- 

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 ?: )

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- 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