This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: C++ Patch: Add GC root for free_binding_level


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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]