aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/java-gimplify.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2006-08-21 16:54:57 -0400
committerJason Merrill <jason@gcc.gnu.org>2006-08-21 16:54:57 -0400
commitc6c7698dfd268ad41c9ca00a8c49333d09c51e20 (patch)
tree38fad6e6bb826a12c58767da330650091c1f7cd9 /gcc/java/java-gimplify.c
parent63b263936ed5ce953ec313d858cb20a1dcb7ebfa (diff)
downloadgcc-c6c7698dfd268ad41c9ca00a8c49333d09c51e20.zip
gcc-c6c7698dfd268ad41c9ca00a8c49333d09c51e20.tar.gz
gcc-c6c7698dfd268ad41c9ca00a8c49333d09c51e20.tar.bz2
re PR c++/27115 (ICE in cp_expr_size or miscompilation with statement expressions and constructors (and ?: ))
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. From-SVN: r116311
Diffstat (limited to 'gcc/java/java-gimplify.c')
0 files changed, 0 insertions, 0 deletions