diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-31 22:22:02 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-31 22:22:02 +0000 |
commit | 821653e13844241cf2cebedbd153bd9482c54b51 (patch) | |
tree | b77c444c6e27770af77c66f1472ba013d89ad831 /gcc/integrate.c | |
parent | 30036b2ddba012d3342712e22144cea3e68400fa (diff) | |
download | gcc-821653e13844241cf2cebedbd153bd9482c54b51.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45336 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r-- | gcc/integrate.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c index ca8ae0e1ed4..232f5fe40de 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -2902,9 +2902,10 @@ output_inline_function (fndecl) /* Compile this function all the way down to assembly code. */ rest_of_compilation (fndecl); - /* We can't inline this anymore. */ - f->inlinable = 0; + /* We can't inline this anymore; rest_of_compilation destroyed the + data structures describing the function. */ DECL_INLINE (fndecl) = 0; + DECL_SAVED_INSNS (fndecl) = 0; cfun = old_cfun; current_function_decl = old_cfun ? old_cfun->decl : 0; |