aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-09-08 05:37:20 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-09-08 05:37:20 +0000
commitc802301136abdeabc75c5818e893c439a57f0597 (patch)
tree77a81eacf0fa9e728bc005551080076fef6b2f95
parent6db21c7fb889047cd93514174bc9ad937a11ba22 (diff)
downloadgcc-c802301136abdeabc75c5818e893c439a57f0597.zip
gcc-c802301136abdeabc75c5818e893c439a57f0597.tar.gz
gcc-c802301136abdeabc75c5818e893c439a57f0597.tar.bz2
rs6000.c: Include ggc.h.
* rs6000.c: Include ggc.h. (rs6000_add_gc_roots): New function. (override_options): Call it. From-SVN: r29184
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c16
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fd51818..cf117bd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Tue Sep 7 22:39:18 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * rs6000.c: Include ggc.h.
+ (rs6000_add_gc_roots): New function.
+ (override_options): Call it.
+
Tue Sep 7 22:09:03 1999 Richard Henderson <rth@cygnus.com>
* alpha.h (alpha_compare): New.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index db0bbb4..0c32c77 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -38,6 +38,7 @@ Boston, MA 02111-1307, USA. */
#include "function.h"
#include "output.h"
#include "toplev.h"
+#include "ggc.h"
#ifndef TARGET_NO_PROTOTYPE
#define TARGET_NO_PROTOTYPE 0
@@ -111,6 +112,8 @@ int rs6000_debug_arg; /* debug argument handling */
/* Flag to say the TOC is initialized */
int toc_initialized;
+static void rs6000_add_gc_roots PROTO ((void));
+
/* Default register names. */
char rs6000_reg_names[][8] =
@@ -364,6 +367,9 @@ rs6000_override_options (default_cpu)
#ifdef SUBTARGET_OVERRIDE_OPTIONS
SUBTARGET_OVERRIDE_OPTIONS;
#endif
+
+ /* Register global variables with the garbage collector. */
+ rs6000_add_gc_roots ();
}
void
@@ -6000,3 +6006,13 @@ rs6000_fatal_bad_address (op)
{
fatal_insn ("bad address", op);
}
+
+/* Called to register all of our global variables with the garbage
+ collector. */
+
+static void
+rs6000_add_gc_roots ()
+{
+ ggc_add_rtx_root (&rs6000_compare_op0, 1);
+ ggc_add_rtx_root (&rs6000_compare_op1, 1);
+}