libgcc2.c (__empty): An empty function used by the C++ frontend for defaulting cleanup actions.

* libgcc2.c (__empty): An empty function used by the C++ frontend for
	defaulting cleanup actions.

	* tree.c (save_tree_status, restore_tree_status): Save and restore
	temporary_firstobj, so that in progress objects that live on the
	temporary obstack are not reallocated, if we save and restore the
	tree status in their lifetime.

From-SVN: r10799
This commit is contained in:
Mike Stump 1995-12-18 17:42:56 +00:00
parent 24bd20c2e1
commit 8fa6b6c92c
2 changed files with 8 additions and 0 deletions

View File

@ -2367,6 +2367,11 @@ __register_exceptions (exception_table *table)
exception_table_list = node;
}
void
__empty ()
{
}
#if #machine(i386)
void
__unwind_function(void *ptr)

View File

@ -340,6 +340,7 @@ save_tree_status (p, context)
p->all_types_permanent = all_types_permanent;
p->momentary_stack = momentary_stack;
p->maybepermanent_firstobj = maybepermanent_firstobj;
p->temporary_firstobj = temporary_firstobj;
p->momentary_firstobj = momentary_firstobj;
p->momentary_function_firstobj = momentary_function_firstobj;
p->function_obstack = function_obstack;
@ -392,6 +393,7 @@ save_tree_status (p, context)
expression_obstack = &permanent_obstack;
rtl_obstack = saveable_obstack = &permanent_obstack;
temporary_firstobj = (char *) obstack_alloc (&temporary_obstack, 0);
momentary_firstobj = (char *) obstack_finish (&momentary_obstack);
momentary_function_firstobj = momentary_firstobj;
}
@ -420,6 +422,7 @@ restore_tree_status (p)
obstack_free (function_obstack, 0);
free (function_obstack);
temporary_firstobj = p->temporary_firstobj;
momentary_firstobj = p->momentary_firstobj;
momentary_function_firstobj = p->momentary_function_firstobj;
maybepermanent_firstobj = p->maybepermanent_firstobj;