From 1526a0606bb9b5ea571f0b1b68f2181fdbd2e12f Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Mon, 6 Sep 1999 21:28:22 +0000 Subject: Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o. * Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o. (c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o, $(out_object_file)): Depend on ggc.h. * c-common.c: Include "ggc.h". (combine_strings): If doing GC, use ggc_alloc_string. * c-decl.c: Include "ggc.h". (ggc_p): Define with value 0. (mark_binding_level): New function. (init_decl_processing): Add GC roots. (mark_c_function_context): New function. (lang_mark_false_label_stack): New function. (lang_mark_tree): New function. (lang_cleanup_tree): New function. * c-lang.c: Include "ggc.h". (lang_init): Call c_parse_init. * c-lex.c: Include "ggc.h". (check_linenum): If doing GC, don't copy filenames to permanent obstack. * c-parse.in: Include "ggc.h". (c_parse_init): New function. * c-tree.h (c_parse_init, mark_c_function_context): Declare. * objc/Make-lang.in (objc-parse.o): Depend on ggc.h. * except.c (mark_eh_state): Mark more state. * function.c (mark_function_state): Likewise. * ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version. (ggc_alloc_string) [GGC_DUMP]: Fix typo. * toplev.c (mark_file_stack): New function. (compile_file): If doing GC, use ggc_alloc_string on input filename. (main): Add root for input_file_stack. * i386.c: Include "ggc.h". (ix86_mark_machine_status): New function. (override_options): Set mark_machine_status. From-SVN: r29143 --- gcc/c-parse.in | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gcc/c-parse.in') diff --git a/gcc/c-parse.in b/gcc/c-parse.in index 7dd6520..a0c7f94 100644 --- a/gcc/c-parse.in +++ b/gcc/c-parse.in @@ -46,7 +46,8 @@ end ifc #include "flags.h" #include "output.h" #include "toplev.h" - +#include "ggc.h" + #ifdef MULTIBYTE_CHARS #include #endif @@ -245,6 +246,16 @@ end ifobjc #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL) extern void yyprint PROTO ((FILE *, int, YYSTYPE)); + +/* Add GC roots for variables local to this file. */ +void +c_parse_init () +{ + ggc_add_tree_root (&declspec_stack, 1); + ggc_add_tree_root (¤t_declspecs, 1); + ggc_add_tree_root (&prefix_attributes, 1); +} + %} %% -- cgit v1.1