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
This commit is contained in:
parent
31cf01446d
commit
96603b4c5a
|
@ -1,3 +1,13 @@
|
|||
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>
|
||||
|
||||
* defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
|
||||
|
|
21
gcc/c-decl.c
21
gcc/c-decl.c
|
@ -5725,7 +5725,9 @@ finish_struct (t, fieldlist, attributes)
|
|||
/* Use the same allocation policy here that make_node uses, to
|
||||
ensure that this lives as long as the rest of the struct decl.
|
||||
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));
|
||||
else
|
||||
space = oballoc (sizeof (struct lang_type) + len * sizeof (tree));
|
||||
|
@ -7142,19 +7144,6 @@ lang_mark_tree (t)
|
|||
ggc_mark_tree (i->error_locus);
|
||||
ggc_mark_tree (i->limbo_value);
|
||||
}
|
||||
}
|
||||
|
||||
/* 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
|
||||
}
|
||||
else if (TYPE_P (t) && TYPE_LANG_SPECIFIC (t))
|
||||
ggc_mark (TYPE_LANG_SPECIFIC (t));
|
||||
}
|
||||
|
|
|
@ -35,15 +35,6 @@ lang_mark_tree (t)
|
|||
abort ();
|
||||
}
|
||||
|
||||
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)
|
||||
struct label_node *l ATTRIBUTE_UNUSED;
|
||||
|
|
|
@ -385,14 +385,6 @@ static inline void
|
|||
ggc_free_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
|
||||
fprintf (dump, "collect tree %p\n", &t->tree);
|
||||
#endif
|
||||
|
|
|
@ -87,9 +87,6 @@ void ggc_mark PROTO ((void *));
|
|||
the lang_specific hooks in the tree. */
|
||||
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
|
||||
language-dependent semantics. Each front-end should define this
|
||||
function appropriately. */
|
||||
|
|
Loading…
Reference in New Issue