OSDN Git Service

2003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
[pf3gnuchains/gcc-fork.git] / gcc / gengenrtl.c
index b90c9ee..e4ac109 100644 (file)
@@ -19,8 +19,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 02111-1307, USA.  */
 
 
-#include "hconfig.h"
+#include "bconfig.h"
 #include "system.h"
+#include "coretypes.h"
+#include "tm.h"
 
 #define NO_GENRTL_H
 #include "rtl.h"
@@ -81,6 +83,8 @@ type_from_format (c)
       return "struct bitmap_head_def *";  /* bitmap - typedef not available */
     case 't':
       return "union tree_node *";  /* tree - typedef not available */
+    case 'B':
+      return "struct basic_block_def *";  /* basic block - typedef not available */
     default:
       abort ();
     }
@@ -115,6 +119,9 @@ accessor_from_format (c)
     case 't':
       return "XTREE";
 
+    case 'B':
+      return "XBBDEF";
+
     default:
       abort ();
     }
@@ -144,7 +151,8 @@ special_rtx (idx)
   return (strcmp (defs[idx].enumname, "CONST_INT") == 0
          || strcmp (defs[idx].enumname, "REG") == 0
          || strcmp (defs[idx].enumname, "SUBREG") == 0
-         || strcmp (defs[idx].enumname, "MEM") == 0);
+         || strcmp (defs[idx].enumname, "MEM") == 0
+         || strcmp (defs[idx].enumname, "CONST_VECTOR") == 0);
 }
 
 /* Return nonzero if the RTL code given by index IDX is one that we should
@@ -327,14 +335,11 @@ gencode ()
 
   puts ("#include \"config.h\"");
   puts ("#include \"system.h\"");
+  puts ("#include \"coretypes.h\"");
+  puts ("#include \"tm.h\"");
   puts ("#include \"obstack.h\"");
   puts ("#include \"rtl.h\"");
   puts ("#include \"ggc.h\"\n");
-  puts ("extern struct obstack *rtl_obstack;\n");
-  puts ("#define obstack_alloc_rtx(n)                                  \\");
-  puts ("    ((rtx) obstack_alloc (rtl_obstack,                                \\");
-  puts ("                        sizeof (struct rtx_def)               \\");
-  puts ("                        + ((n) - 1) * sizeof (rtunion)))\n");
 
   for (fmt = formats; *fmt != 0; fmt++)
     gendef (*fmt);