From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17090 invoked by alias); 9 Feb 2006 09:54:52 -0000 Received: (qmail 16866 invoked by alias); 9 Feb 2006 09:54:44 -0000 Date: Thu, 09 Feb 2006 09:54:00 -0000 Message-ID: <20060209095444.16860.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/24365] [4.1/4.2 Regression] statement makes a memory store with complex 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/msg00891.txt.bz2 List-Id: ------- Comment #13 from jason at gcc dot gnu dot org 2006-02-09 09:54 ------- Subject: Bug 24365 Author: jason Date: Thu Feb 9 09:54:36 2006 New Revision: 110789 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110789 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: trunk/gcc/ChangeLog trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-gimplify.c trunk/gcc/cp/typeck2.c trunk/gcc/doc/c-tree.texi trunk/gcc/gimplify.c trunk/gcc/testsuite/g++.dg/opt/temp1.C trunk/gcc/tree-inline.c trunk/gcc/tree.def -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24365