From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19911 invoked by alias); 10 Feb 2006 17:32:22 -0000 Received: (qmail 19669 invoked by alias); 10 Feb 2006 17:32:15 -0000 Date: Fri, 10 Feb 2006 17:32:00 -0000 Message-ID: <20060210173215.19668.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/25979] [4.0 Regression] incorrect codegen for conditional [SVO issue] In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jason at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-02/txt/msg01030.txt.bz2 List-Id: ------- Comment #11 from jason at gcc dot gnu dot org 2006-02-10 17:32 ------- Subject: Bug 25979 Author: jason Date: Fri Feb 10 17:32:10 2006 New Revision: 110838 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110838 Log: PR c++/25979 * tree.def: Elaborate on difference from MODIFY_EXPR. * doc/c-tree.texi (INIT_EXPR): Likewise. * gimplify.c (internal_get_tmp_var): Use INIT_EXPR. (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise. (gimplify_target_expr): Likewise. (gimplify_cond_expr): Remove target handling. (gimplify_modify_expr): Don't clobber INIT_EXPR code here. (gimplify_expr): Clobber it here. (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here. Do return slot optimization if we have an INIT_EXPR. PR tree-opt/24365 * tree-inline.c (declare_return_variable): Also clear DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case. PR c++/16405 * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling. PR middle-end/22439 * gimplify.c (gimplify_one_sizepos): Fix typo. Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/cp/ChangeLog branches/gcc-4_1-branch/gcc/cp/cp-gimplify.c branches/gcc-4_1-branch/gcc/cp/typeck2.c branches/gcc-4_1-branch/gcc/doc/c-tree.texi branches/gcc-4_1-branch/gcc/gimplify.c branches/gcc-4_1-branch/gcc/testsuite/g++.dg/opt/temp1.C branches/gcc-4_1-branch/gcc/tree-inline.c branches/gcc-4_1-branch/gcc/tree.def -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25979