This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/24994] raised STORAGE_ERROR : stack overflow or erroneous memory access
- From: "ebotcazou at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Mar 2007 10:46:12 -0000
- Subject: [Bug ada/24994] raised STORAGE_ERROR : stack overflow or erroneous memory access
- References: <bug-24994-276@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #17 from ebotcazou at gcc dot gnu dot org 2007-03-28 11:46 -------
> Don't remember what fixed comment #13. Possibly, a change just
> made the issue latent.
OK, thanks. Here is what I needed on my 4.1 branch:
Index: cfgexpand.c
===================================================================
--- cfgexpand.c (revision 123291)
+++ cfgexpand.c (working copy)
@@ -1630,9 +1634,10 @@ tree_expand_cfg (void)
/* We're done expanding trees to RTL. */
currently_expanding_to_rtl = 0;
- /* Convert tree EH labels to RTL EH labels, and clean out any unreachable
- EH regions. */
+ /* Convert tree EH labels to RTL EH labels and zap the tree
+ EH table to avoid dangling references during GC. */
convert_from_eh_region_ranges ();
+ set_eh_throw_stmt_table (cfun, NULL);
rebuild_jump_labels (get_insns ());
find_exception_handler_labels ();
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24994