This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/23651] [4.1 Regression] ICE in GC
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Oct 2005 01:21:35 -0000
- Subject: [Bug middle-end/23651] [4.1 Regression] ICE in GC
- References: <bug-23651-702@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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