summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-31 22:22:02 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-31 22:22:02 +0000
commit821653e13844241cf2cebedbd153bd9482c54b51 (patch)
treeb77c444c6e27770af77c66f1472ba013d89ad831 /gcc/integrate.c
parent30036b2ddba012d3342712e22144cea3e68400fa (diff)
downloadgcc-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.c5
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;