From 5c7261ab87ea3e94b51b40cee621ebf6b665e952 Mon Sep 17 00:00:00 2001 From: Alex Samuel Date: Tue, 21 Sep 1999 18:09:54 +0000 Subject: [PATCH] Replace string const "" with dynamic allocation. * tree.c (built_in_filename): New variable. (BUILT_IN_FILENAME): New macro. (init_tree_codes): Allocate built_in_filename. (make_node): Use built_in_filename instead of string constant. From-SVN: r29552 --- gcc/ChangeLog | 7 +++++++ gcc/tree.c | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ece5f0d165e..0eb093a6102 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Tue Sep 21 11:04:34 1999 Alex Samuel + + * tree.c (built_in_filename): New variable. + (BUILT_IN_FILENAME): New macro. + (init_tree_codes): Allocate built_in_filename. + (make_node): Use built_in_filename instead of string constant. + Tue Sep 21 14:13:27 1999 Nick Clifton * configure.in: Add fr30 target. diff --git a/gcc/tree.c b/gcc/tree.c index 752595c46c8..81942ce8b0f 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -278,6 +278,13 @@ static void fix_sizetype PROTO ((tree)); /* If non-null, a language specific helper for unsave_expr_now. */ void (*lang_unsave_expr_now) PROTO((tree)); + +/* The string used as a placeholder instead of a source file name for + built-in tree nodes. The variable, which is dynamically allocated, + should be used; the macro is only used to initialize it. */ + +static char *built_in_filename; +#define BUILT_IN_FILENAME ("") tree global_trees[TI_MAX]; @@ -867,7 +874,9 @@ resume_momentary (yes) void init_tree_codes () { - + built_in_filename = + ggc_alloc_string (BUILT_IN_FILENAME, sizeof (BUILT_IN_FILENAME)); + ggc_add_string_root (&built_in_filename, 1); } /* Return a newly allocated node of code CODE. @@ -1044,7 +1053,8 @@ make_node (code) DECL_IN_SYSTEM_HEADER (t) = in_system_header && (obstack == &permanent_obstack); DECL_SOURCE_LINE (t) = lineno; - DECL_SOURCE_FILE (t) = (input_filename) ? input_filename : ""; + DECL_SOURCE_FILE (t) = + (input_filename) ? input_filename : built_in_filename; DECL_UID (t) = next_decl_uid++; /* Note that we have not yet computed the alias set for this declaration. */