From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31862 invoked by alias); 8 Jul 2010 16:05:35 -0000 Received: (qmail 31031 invoked by alias); 8 Jul 2010 16:05:17 -0000 Date: Thu, 08 Jul 2010 16:05:00 -0000 Message-ID: <20100708160517.31027.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug debug/44832] [4.6 Regression] -fcompare-debug failure for C++ i386.c In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenther at suse dot de" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-07/txt/msg00896.txt.bz2 ------- Comment #45 from rguenther at suse dot de 2010-07-08 16:05 ------- Subject: Re: [4.6 Regression] -fcompare-debug failure for C++ i386.c On Thu, 8 Jul 2010, amylaar at gcc dot gnu dot org wrote: > ------- Comment #44 from amylaar at gcc dot gnu dot org 2010-07-08 15:54 ------- > (In reply to comment #43) > > Now, I see that in the non-debug case we are copying the LABEL_DECL while > > copying statements while in the debug case we are copying it while > > copying the block tree. We have to preserve used labels in > > the block tree it's just not trivial to do unless we resort to setting > > TREE_USED. > > > > Which would be the following, which also fixes the failure. > > I have done a --enable-build-with-cxx bootstrap of trunk trevision 161952 > with this patch applied (with tabs for leading whitespace in the comment). > The bootstrap finished successfully, and the regression test results > look reasonable, although I still have to generate baseline results to > compare this to. Using TREE_USED isn't really applicable here (we do never re-set it at least). So an option would be to unconditionally preserve all !DECL_INGNORED_P labels in BLOCKs. Or play fancy with a bitmap or a pointer-map. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44832