OSDN Git Service

Replace string const "<internal>" with dynamic allocation.
authorsamuel <samuel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Sep 1999 18:14:26 +0000 (18:14 +0000)
committersamuel <samuel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Sep 1999 18:14:26 +0000 (18:14 +0000)
* lex.c (internal_filename): New variable.
(INTERNAL_FILENAME): New macro.
(init_parse): Allocate internal_filename and mark as root.  Use it
instead of a string constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29553 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/lex.c

index 2feaf83..2fc11ec 100644 (file)
@@ -1,3 +1,10 @@
+1999-09-21  Alex Samuel  <samuel@codesourcery.com>
+
+       * lex.c (internal_filename): New variable.
+       (INTERNAL_FILENAME): New macro.
+       (init_parse): Allocate internal_filename and mark as root.  Use it
+       instead of a string constant.
+
 1999-09-21  Nathan Sidwell  <nathan@acm.org>
 
        Reimplement dynamic cast and catch matching.
index e714dff..af78b7f 100644 (file)
@@ -213,6 +213,11 @@ struct impl_files
 
 static struct impl_files *impl_file_chain;
 
+/* The string used to represent the filename of internally generated
+   tree nodes.  The variable, which is dynamically allocated, should
+   be used; the macro is only used to initialize it.  */
+static char *internal_filename;
+#define INTERNAL_FILENAME ("<internal>")
 \f
 /* Return something to represent absolute declarators containing a *.
    TARGET is the absolute declarator that the * contains.
@@ -720,10 +725,13 @@ init_parse (filename)
   gcc_obstack_init (&inline_text_obstack);
   inline_text_firstobj = (char *) obstack_alloc (&inline_text_obstack, 0);
 
+  internal_filename = ggc_alloc_string (INTERNAL_FILENAME, 
+                                       sizeof (INTERNAL_FILENAME));
+
   /* Start it at 0, because check_newline is called at the very beginning
      and will increment it to 1.  */
   lineno = 0;
-  input_filename = "<internal>";
+  input_filename = internal_filename;
   current_function_decl = NULL;
 
   maxtoken = 40;
@@ -915,6 +923,7 @@ init_parse (filename)
 
   ggc_add_tree_root (ansi_opname, LAST_CPLUS_TREE_CODE);
   ggc_add_tree_root (ansi_assopname, LAST_CPLUS_TREE_CODE);
+  ggc_add_string_root (&internal_filename, 1);
   ggc_add_tree_root (ridpointers, RID_MAX);
   ggc_add_tree_root (&defarg_fns, 1);
   ggc_add_tree_root (&defarg_parm, 1);