diff options
author | Zack Weinberg <zack@codesourcery.com> | 2001-08-31 22:22:02 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2001-08-31 22:22:02 +0000 |
commit | eb3ae3e105091e44f38d0b33dae7f39f1aa555a6 (patch) | |
tree | b77c444c6e27770af77c66f1472ba013d89ad831 /gcc/ggc-common.c | |
parent | 7a95ae6b51b590a8b8b9ee06768204c5d6a4a90f (diff) | |
download | gcc-eb3ae3e105091e44f38d0b33dae7f39f1aa555a6.zip gcc-eb3ae3e105091e44f38d0b33dae7f39f1aa555a6.tar.gz gcc-eb3ae3e105091e44f38d0b33dae7f39f1aa555a6.tar.bz2 |
function.c: Remove all_functions.
* function.c: Remove all_functions. Make outer_function_chain
static.
(init_function_start): Don't add new function structure to
all_functions.
(find_function_data, push_function_context_to,
pop_function_context_from, put_var_into_stack,
trampoline_address): Update for changed structure element names.
(push_function_context_to): Disentangle.
(free_after_compilation): Also free F.
(expand_dummy_function_end): Don't free cfun here.
(put_var_into_stack): Comment why we can't use find_function_data here.
(fix_lexical_addr, trampoline_address, ): Use find_function_data.
(mark_function_chain): Split into maybe_mark_struct_function and
ggc_mark_struct_function. Export the latter.
(init_function_once): Mark from cfun and outer_function_chain;
not all_functions.
* function.h (struct function): Kill next_global. Rename next
to outer. All users updated to match.
(all_functions, outer_function_chain): Don't declare.
* ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
* integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
don't touch f->inlinable, after calling rest_of_compilation.
* tree.h: Forward-declare struct function. Prototype
ggc_mark_struct_function.
From-SVN: r45336
Diffstat (limited to 'gcc/ggc-common.c')
-rw-r--r-- | gcc/ggc-common.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c index 049785d..9745001 100644 --- a/gcc/ggc-common.c +++ b/gcc/ggc-common.c @@ -381,6 +381,8 @@ ggc_mark_trees () ggc_mark_tree (DECL_VINDEX (t)); if (DECL_ASSEMBLER_NAME_SET_P (t)) ggc_mark_tree (DECL_ASSEMBLER_NAME (t)); + if (TREE_CODE (t) == FUNCTION_DECL && DECL_SAVED_INSNS (t)) + ggc_mark_struct_function (DECL_SAVED_INSNS (t)); lang_mark_tree (t); break; |