From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16852 invoked by alias); 10 Dec 2003 21:47:37 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 16844 invoked from network); 10 Dec 2003 21:47:36 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 10 Dec 2003 21:47:36 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id hBALlV229237; Wed, 10 Dec 2003 16:47:31 -0500 Received: from pobox.toronto.redhat.com (pobox.toronto.redhat.com [172.16.14.4]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id hBALlQ232118; Wed, 10 Dec 2003 16:47:26 -0500 Received: from dnovillo.cipe.redhat.com (dnovillo.cipe.redhat.com [10.0.0.106]) by pobox.toronto.redhat.com (8.12.8/8.12.8) with ESMTP id hBALlB5R015013; Wed, 10 Dec 2003 16:47:16 -0500 Subject: Re: [tree-ssa] New g++/libstdc++ regressions with checking disabled. From: Diego Novillo To: Jan Hubicka Cc: Steven Bosscher , Jeff Law , Zdenek Dvorak , Richard Henderson , "gcc@gcc.gnu.org" In-Reply-To: <20031209221600.GF7849@kam.mff.cuni.cz> References: <1070993097.8617.10.camel@frodo.toronto.redhat.com> <1071001891.8617.29.camel@frodo.toronto.redhat.com> <20031209221600.GF7849@kam.mff.cuni.cz> Content-Type: text/plain Organization: Red Hat Canada Message-Id: <1071092808.8617.114.camel@frodo.toronto.redhat.com> Mime-Version: 1.0 Date: Wed, 10 Dec 2003 22:16:00 -0000 Content-Transfer-Encoding: 7bit X-SW-Source: 2003-12/txt/msg00636.txt.bz2 On Tue, 2003-12-09 at 17:16, Jan Hubicka wrote: > > > > Incidentally, please do not commit any patches that do not fix these > > regressions. > > I've been looking into it with Jason and it seems to be that culprint is > misscopmilation in cp/class.o (at least replacing it by unoptimized > version makes the bug to go away). > The symptom is that method table contains bogus duplicated overload > entries, so it seems to be somewhere in add_method. > Thanks. I have reverted the patch that introduced these regressions. The branch is open again. Diego. * c-common.c (c_address_looks_like_offsetof): New. * c-common.h (c_address_looks_like_offsetof): Declare. * c-typeck.c (build_unary_op) : Use it. Don't lower address references not destined for offsetof. (c_expand_return): Only look inside ARRAY_REF and COMPONENT_REF when looking for returning address of local variable. * expr.c (expand_expr_1): Don't dereference size of unbounded arrays. * gimplify.c (gimplify_addr_expr): Only fold address of variable size array elements. * tree-simple.c (is_gimple_min_invariant): Also check is_gimple_variable before disallowing offset address for type. * tree-ssa-ccp.c (maybe_fold_offset_to_aggregate_ref): New. (maybe_fold_offset_to_component_ref): Use it. (maybe_fold_stmt_indirect, maybe_fold_stmt_plus): Likewise. (maybe_fold_offset_to_array_ref): Likewise. Don't fail for division remainder non-zero. * varasm.c (initializer_constant_valid_p) : Use handled_component_p and look inside references. : Always look past widening casts.