Commit 96603b4c by Mark Mitchell Committed by Mark Mitchell

ggc.h (lang_cleanup_tree): Remove.

	* ggc.h (lang_cleanup_tree): Remove.
	* gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
	* ggc-callbacks.c (lang_cleanup_tree): Remove.

	* c-decl.c (finish_struct): Use ggc_alloc to allocate
	TYPE_LANG_SPECIFIC when garbage collecting.
	(lang_cleanup_tree): Remove.

From-SVN: r29242
parent 31cf0144
Thu Sep 9 14:36:31 1999 Mark Mitchell <mark@codesourcery.com>
* ggc.h (lang_cleanup_tree): Remove.
* gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
* ggc-callbacks.c (lang_cleanup_tree): Remove.
* c-decl.c (finish_struct): Use ggc_alloc to allocate
TYPE_LANG_SPECIFIC when garbage collecting.
(lang_cleanup_tree): Remove.
Thu Sep 9 14:23:02 1999 Jason Merrill <jason@yorick.cygnus.com> Thu Sep 9 14:23:02 1999 Jason Merrill <jason@yorick.cygnus.com>
* defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here. * defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
......
...@@ -5725,7 +5725,9 @@ finish_struct (t, fieldlist, attributes) ...@@ -5725,7 +5725,9 @@ finish_struct (t, fieldlist, attributes)
/* Use the same allocation policy here that make_node uses, to /* Use the same allocation policy here that make_node uses, to
ensure that this lives as long as the rest of the struct decl. ensure that this lives as long as the rest of the struct decl.
All decls in an inline function need to be saved. */ All decls in an inline function need to be saved. */
if (allocation_temporary_p ()) if (ggc_p)
space = ggc_alloc (sizeof (struct lang_type) + len * sizeof (tree));
else if (allocation_temporary_p ())
space = savealloc (sizeof (struct lang_type) + len * sizeof (tree)); space = savealloc (sizeof (struct lang_type) + len * sizeof (tree));
else else
space = oballoc (sizeof (struct lang_type) + len * sizeof (tree)); space = oballoc (sizeof (struct lang_type) + len * sizeof (tree));
...@@ -7142,19 +7144,6 @@ lang_mark_tree (t) ...@@ -7142,19 +7144,6 @@ lang_mark_tree (t)
ggc_mark_tree (i->error_locus); ggc_mark_tree (i->error_locus);
ggc_mark_tree (i->limbo_value); ggc_mark_tree (i->limbo_value);
} }
} else if (TYPE_P (t) && TYPE_LANG_SPECIFIC (t))
ggc_mark (TYPE_LANG_SPECIFIC (t));
/* Free the language specific bits in T for GC. */
void
lang_cleanup_tree (t)
tree t;
{
if (TREE_CODE_CLASS (TREE_CODE (t)) == 't'
&& TYPE_LANG_SPECIFIC (t) != NULL)
{
#if 0
/* This is currently allocated with an obstack. This will change. */
free (TYPE_LANG_SPECIFIC (t));
#endif
}
} }
...@@ -36,15 +36,6 @@ lang_mark_tree (t) ...@@ -36,15 +36,6 @@ lang_mark_tree (t)
} }
void void
lang_cleanup_tree (t)
union tree_node *t ATTRIBUTE_UNUSED;
{
/* If this function is called, we are doing GC. But, this file is
only included in compilers for languages that don't support GC. */
abort ();
}
void
lang_mark_false_label_stack (l) lang_mark_false_label_stack (l)
struct label_node *l ATTRIBUTE_UNUSED; struct label_node *l ATTRIBUTE_UNUSED;
{ {
......
...@@ -385,14 +385,6 @@ static inline void ...@@ -385,14 +385,6 @@ static inline void
ggc_free_tree (t) ggc_free_tree (t)
struct ggc_tree *t; struct ggc_tree *t;
{ {
switch (TREE_CODE_CLASS (TREE_CODE (&t->tree)))
{
case 'd': /* A decl node. */
case 't': /* A type node. */
lang_cleanup_tree (&t->tree);
break;
}
#ifdef GGC_DUMP #ifdef GGC_DUMP
fprintf (dump, "collect tree %p\n", &t->tree); fprintf (dump, "collect tree %p\n", &t->tree);
#endif #endif
......
...@@ -87,9 +87,6 @@ void ggc_mark PROTO ((void *)); ...@@ -87,9 +87,6 @@ void ggc_mark PROTO ((void *));
the lang_specific hooks in the tree. */ the lang_specific hooks in the tree. */
void lang_mark_tree PROTO ((union tree_node *)); void lang_mark_tree PROTO ((union tree_node *));
/* And similarly to free that data when the tree node is released. */
void lang_cleanup_tree PROTO ((union tree_node *));
/* The FALSE_LABEL_STACK, declared in except.h, has /* The FALSE_LABEL_STACK, declared in except.h, has
language-dependent semantics. Each front-end should define this language-dependent semantics. Each front-end should define this
function appropriately. */ function appropriately. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment