rs6000.c: Include ggc.h.
authorMark Mitchell <mark@codesourcery.com>
Wed, 8 Sep 1999 05:37:20 +0000 (05:37 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Wed, 8 Sep 1999 05:37:20 +0000 (05:37 +0000)
* rs6000.c: Include ggc.h.
(rs6000_add_gc_roots): New function.
(override_options): Call it.

From-SVN: r29184

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index fd51818869b7592ccf1dd1aa2d3a7a478146f182..cf117bd460a68a50cdc8d78348acb6f81a533b18 100644 (file)
@@ -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.
index db0bbb49ab494a2f4043aae51f9f1ea0bcbb7bfe..0c32c77e8958b3289b2e7895283f3543d48a4a05 100644 (file)
@@ -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));
+
 \f
 /* 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);
+}