summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/lists.c17
3 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9e692da453b..e7059a949b4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Wed Sep 8 04:43:22 1999 Richard Henderson <rth@cygnus.com>
+
+ * lists.c: Include ggc.h.
+ (zap_lists): New.
+ (init_EXPR_INSN_LIST_cache): Install it.
+
Wed Sep 8 11:14:25 1999 Andreas Schwab <schwab@suse.de>
* cccp.c (main): Fix handling of -include and -imacros options.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index ce56466ff01..6ce461c4f08 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1607,7 +1607,7 @@ reg-stack.o : reg-stack.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) recog.h \
$(REGS_H) hard-reg-set.h flags.h insn-config.h insn-flags.h toplev.h \
varray.h function.h
dyn-string.o: dyn-string.c dyn-string.h $(CONFIG_H) system.h
-lists.o: lists.c $(CONFIG_H) system.h toplev.h $(RTL_H)
+lists.o: lists.c $(CONFIG_H) system.h toplev.h $(RTL_H) ggc.h
$(out_object_file): $(out_file) $(CONFIG_H) $(TREE_H) ggc.h \
$(RTL_H) $(REGS_H) hard-reg-set.h real.h insn-config.h conditions.h \
diff --git a/gcc/lists.c b/gcc/lists.c
index 331b9538b3d..e0cb419e68e 100644
--- a/gcc/lists.c
+++ b/gcc/lists.c
@@ -22,6 +22,7 @@ Boston, MA 02111-1307, USA. */
#include "system.h"
#include "toplev.h"
#include "rtl.h"
+#include "ggc.h"
/* Functions for maintaining cache-able lists of EXPR_LIST and INSN_LISTs. */
@@ -104,9 +105,25 @@ alloc_EXPR_LIST (kind, val, next)
}
/* This function will initialize the EXPR_LIST and INSN_LIST caches. */
+
+static void
+zap_lists (dummy)
+ void *dummy ATTRIBUTE_UNUSED;
+{
+ unused_expr_list = NULL;
+ unused_insn_list = NULL;
+}
+
void
init_EXPR_INSN_LIST_cache ()
{
+ static int initialized;
+ if (!initialized)
+ {
+ initialized = 1;
+ ggc_add_root (&unused_expr_list, 1, 1, zap_lists);
+ }
+
unused_expr_list = NULL;
unused_insn_list = NULL;
}
OpenPOWER on IntegriCloud