From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10242 invoked by alias); 29 Jun 2002 05:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 10226 invoked by uid 71); 29 Jun 2002 05:36:01 -0000 Date: Sat, 29 Jun 2002 07:15:00 -0000 Message-ID: <20020629053601.10224.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "H.J. Lu" Subject: Re: optimization/7145: g++ -O with structure initializer & return value optimization generates bad code Reply-To: "H.J. Lu" X-SW-Source: 2002-06/txt/msg00717.txt.bz2 List-Id: The following reply was made to PR optimization/7145; it has been noted by GNATS. From: "H.J. Lu" To: gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, tlb@tlb.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org?Subject=Re:, optimization/@lucon.org Cc: Subject: Re: optimization/7145: g++ -O with structure initializer & return value optimization generates bad code Date: Fri, 28 Jun 2002 22:27:33 -0700 This is a multi-part message in MIME format. --------------020208010607060209080104 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit How about this patch? H.J. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7145 --------------020208010607060209080104 Content-Type: text/plain; name="gcc-cpp-named.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="gcc-cpp-named.patch" 2002-06-28 H.J. Lu (hjl@gnu.org) * typeck.c (check_return_expr): Don't set current_function_return_value if DECL_INITIAL (retval) is not NULL_TREE. --- gcc/cp/typeck.c.init Fri Jun 21 00:36:03 2002 +++ gcc/cp/typeck.c Fri Jun 28 22:09:39 2002 @@ -6559,6 +6559,7 @@ check_return_expr (retval) && (current_function_return_value == NULL_TREE || current_function_return_value == retval) && TREE_CODE (retval) == VAR_DECL + && DECL_INITIAL (retval) == NULL_TREE && DECL_CONTEXT (retval) == current_function_decl && ! TREE_STATIC (retval) && (DECL_ALIGN (retval) --------------020208010607060209080104--