From 3c3bb26851dc0028e761a92256ad356cb3644b7a Mon Sep 17 00:00:00 2001 From: rth Date: Thu, 16 Sep 1999 01:12:25 +0000 Subject: * emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT. Free the struct. (mark_emit_status): Renamed from mark_emit_state. * except.c (mark_eh_status): Renamed from mark_eh_state. Check not null before marking. (free_eh_status): New. * expr.c (mark_expr_status, free_expr_status): New. * function.c (free_machine_status): New. (free_after_parsing): New. (free_after_compilation): Move bits to free_after_parsing; call free_eh_status, free_expr_status; zero the marked members of the function state. (prepare_function_start): No can_garbage_collect. Call init_eh_for_function. (expand_dummy_function_end): Free up current_function state. (mark_function_status): Renamed from mark_function_state. (mark_function_chain): No can_garbage_collect. Call mark_expr_status. * function.h (struct function): No can_garbage_collect. (free_machine_status, free_after_parsing): Declare. (free_eh_status, free_expr_status): Declare. * ggc.h (mark_expr_status): Declare. * stmt.c (free_stmt_status): Free the struct. (mark_stmt_status): Renamed from mark_stmt_state. (init_stmt): Don't call init_eh. (init_stmt_for_function): Don't call init_eh_for_function. * toplev.c (compile_file): Call init_eh. (rest_of_compilation): Free basic block info before ggc_collect. Call free_after_parsing; conditionally call free_after_compilation. * varasm.c (mark_varasm_status): Renamed from mark_varasm_state. Check not null before marking. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29448 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ggc.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gcc/ggc.h') diff --git a/gcc/ggc.h b/gcc/ggc.h index da29d249bff..20b3bb8771d 100644 --- a/gcc/ggc.h +++ b/gcc/ggc.h @@ -33,6 +33,7 @@ extern int ggc_p; just forward-declare them here. */ struct eh_status; struct emit_status; +struct expr_status; struct hash_table; struct label_node; struct rtvec_def; @@ -121,8 +122,9 @@ void lang_mark_false_label_stack PROTO ((struct label_node *)); /* Mark functions for various structs scattered about. */ -void mark_eh_state PROTO ((struct eh_status *)); -void mark_stmt_state PROTO ((struct stmt_status *)); -void mark_emit_state PROTO ((struct emit_status *)); -void mark_varasm_state PROTO ((struct varasm_status *)); +void mark_eh_status PROTO ((struct eh_status *)); +void mark_emit_status PROTO ((struct emit_status *)); +void mark_expr_status PROTO ((struct expr_status *)); +void mark_stmt_status PROTO ((struct stmt_status *)); +void mark_varasm_status PROTO ((struct varasm_status *)); void mark_optab PROTO ((void *)); -- cgit v1.2.1