This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++ Patch: Add GC root for free_binding_level
- To: gcc-patches at gcc dot gnu dot org
- Subject: Re: C++ Patch: Add GC root for free_binding_level
- From: aph at redhat dot com
- Date: 1 Feb 2000 16:17:14 -0000
I've been having some very weird C++ compiler SEGVs, and eventually
tracked them down to a situation where a binding level is corrupted.
It turns out that the memory allocated to the binding level was being
re-sued for something else. It seems to me that the
free_binding_level chain ought to be registered with the garbage
collector, no?
Andrew.
2000-02-01 Andrew Haley <aph@cygnus.com>
* decl.c (init_decl_processing): Add GC root for
free_binding_level.
Index: decl.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/cp/decl.c,v
retrieving revision 1.541
diff -c -2 -p -r1.541 decl.c
*** decl.c 2000/01/29 19:10:00 1.541
--- decl.c 2000/02/01 16:10:59
*************** init_decl_processing ()
*** 6369,6372 ****
--- 6369,6374 ----
ggc_add_root (&global_binding_level, 1, sizeof global_binding_level,
mark_binding_level);
+ ggc_add_root (&free_binding_level, 1, sizeof free_binding_level,
+ mark_binding_level);
ggc_add_root (&scope_chain, 1, sizeof scope_chain, &mark_saved_scope);
ggc_add_tree_root (&static_ctors, 1);