aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/function.h')
-rw-r--r--gcc/function.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h
index d34da40..0b6eb66 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -184,6 +184,9 @@ struct function
struct emit_status *emit;
struct varasm_status *varasm;
+ /* Nonzero if we are done compiling this function. */
+ int can_garbage_collect;
+
/* For function.c. */
/* Name of this function. */
@@ -533,10 +536,12 @@ extern HOST_WIDE_INT get_func_frame_size PROTO((struct function *));
save and restore machine-specific data,
in push_function_context and pop_function_context. */
extern void (*init_machine_status) PROTO((struct function *));
+extern void (*mark_machine_status) PROTO((struct function *));
extern void (*save_machine_status) PROTO((struct function *));
extern void (*restore_machine_status) PROTO((struct function *));
/* Likewise, but for language-specific data. */
+extern void (*mark_lang_status) PROTO((struct function *));
extern void (*save_lang_status) PROTO((struct function *));
extern void (*restore_lang_status) PROTO((struct function *));
@@ -544,7 +549,11 @@ extern void (*restore_lang_status) PROTO((struct function *));
extern void save_tree_status PROTO((struct function *));
extern void restore_tree_status PROTO((struct function *));
extern void restore_emit_status PROTO((struct function *));
+extern void free_after_compilation PROTO((struct function *));
+extern void init_varasm_status PROTO((struct function *));
+extern void free_varasm_status PROTO((struct function *));
+extern void free_emit_status PROTO((struct function *));
extern rtx get_first_block_beg PROTO((void));
extern void init_virtual_regs PROTO((struct emit_status *));