From ec6cb94af9fcfa7d281b5234ad5e1c31000c10f3 Mon Sep 17 00:00:00 2001
From: zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 17 Nov 2000 17:31:13 +0000
Subject:         * ggc.h: Delete ggc_add_string_root and ggc_mark_string.  Add
         digit_vector and digit_string.         * stringpool.c (digit_vector):
 New.         (ggc_alloc_string): Use digit_string.

        * stmt.c (digit_strings): Delete.
        (init_stmt): Do not initialize digit_strings.
        (expand_asm_operands): Use ggc.h's digit_string macro.
        * toplev.c (mark_file_stack): Delete.
        (compile_file): Don't call init_tree_codes.
        (main): No need to make the file stack a GC root.
        * tree.c (init_tree_codes): Delete.
        * tree.h (init_tree_codes): Delete.

        * c-lex.c: Don't include ggc.h.
        (mark_splay_tree_node, mark_splay_tree): Delete.
        (init_c_lex): No need to ggc_strdup string constant.  Don't add
        file_info_tree to GGC roots.
        (cb_enter_file, cb_rename_file): No need to ggc_strdup
        ip->nominal_fname.

        * Makefile.in (c-lex.o): No longer depends on $(GGC_H).

        * dbxout.c (dbxout_init),
        dwarf2out.c (dwarf2out_line),
        ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
        varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
        xcoffout.c (xcoffout_source_file),
        i386.c (load_pic_register):
        Delete call(s) to ggc_add_string_root and/or ggc_mark_string.

        * except.c (create_rethrow_ref),
        profile.c (init_edge_profiler),
        toplev.c (compile_file),
        varasm.c (named_section, assemble_static_space,
        assemble_trampoline_template, output_constant_def, force_const_mem),
        i386.c (load_pic_register),
        ia64.c (ia64_encode_section_info),
        rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
        rs6000_emit_prologue, rs6000_emit_epilogue),
        rs6000.md (load_toc_aix_si, load_toc_aix_di):
        Change ggc_alloc_string (var, -1) to ggc_strdup (var).

        * profile.c (output_func_start_profiler),
        tree.c (make_node),
        i386.c (load_pic_register): No need to ggc_strdup string constant.

cp:
        * lex.c (mark_impl_file_chain): Delete.
        (init_parse): Remove call to ggc_add_string_root.  No need to
        ggc_strdup a string constant.  Do not add impl_file_chain to GC
        roots.
        (handle_pragma_implementation): No need to ggc_strdup main_filename.

f:
        * lex.c (ffelex_hash_): Change ggc_alloc_string (var, -1) to
        ggc_strdup (var).

java:
        * parse.y (goal): Remove call to ggc_add_string_root.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37522 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ggc.h | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

(limited to 'gcc/ggc.h')

diff --git a/gcc/ggc.h b/gcc/ggc.h
index 596c49b4989..e222916a5a6 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -40,7 +40,9 @@ union  tree_node;
 struct varasm_status;
 
 /* Constants for general use.  */
-extern const char empty_string[];
+extern const char empty_string[];	/* empty string */
+extern const char digit_vector[];	/* "0" .. "9" */
+#define digit_string(d) (digit_vector + ((d) * 2))
 
 /* Trees that have been marked, but whose children still need marking.  */
 extern varray_type ggc_pending_trees;
@@ -54,9 +56,6 @@ void ggc_add_tree_varray_root PARAMS ((struct varray_head_tag **, int nelt));
 void ggc_add_tree_hash_table_root PARAMS ((struct hash_table **, int nelt));
 void ggc_del_root PARAMS ((void *base));
 
-/* Temporary */
-#define ggc_add_string_root(ptr, nelt)  /* nothing */
-
 /* Mark nodes from the gc_add_root callback.  These functions follow
    pointers to mark other objects too.  */
 extern void ggc_mark_rtx_varray PARAMS ((struct varray_head_tag *));
@@ -93,9 +92,6 @@ extern void ggc_mark_rtvec_children PARAMS ((struct rtvec_def *));
       ggc_mark_rtvec_children (v__);            \
   } while (0)
 
-/* Temporary */
-#define ggc_mark_string(EXPR)  /* nothing */
-
 #define ggc_mark(EXPR)				\
   do {						\
     const void *a__ = (EXPR);			\
-- 
cgit v1.2.1