From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4171 invoked by alias); 6 Oct 2005 01:21:38 -0000 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 Received: (qmail 4149 invoked by uid 48); 6 Oct 2005 01:21:35 -0000 Date: Thu, 06 Oct 2005 01:21:00 -0000 Message-ID: <20051006012135.4148.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/23651] [4.1 Regression] ICE in GC In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pinskia at gcc dot gnu dot org" X-SW-Source: 2005-10/txt/msg00539.txt.bz2 List-Id: ------- Comment #8 from pinskia at gcc dot gnu dot org 2005-10-06 01:21 ------- I have a fix for this bug, return_label and naked_return_label don't need to be set after expand. Hmm, maybe we could move them to global memory and not use up 8-16 bytes in function.c since we never expand more than function at a time now. The simple patch is the following: Index: cfgexpand.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/cfgexpand.c,v retrieving revision 2.50 diff -u -p -r2.50 cfgexpand.c --- cfgexpand.c 6 Aug 2005 13:25:56 -0000 2.50 +++ cfgexpand.c 6 Oct 2005 01:18:05 -0000 @@ -1578,6 +1578,8 @@ tree_expand_cfg (void) (*debug_hooks->outlining_inline_function) (current_function_decl); TREE_ASM_WRITTEN (current_function_decl) = 1; + return_label = NULL; + naked_return_label = NULL; } struct tree_opt_pass pass_expand = -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Component|c++ |middle-end http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23651