X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fgengenrtl.c;h=e4ac109ee3a3123e7d0fde5a4c4802328a194222;hb=df034f844ad35169ff0b9bc32ec6968b1d7d39cb;hp=b90c9ee29b24ec36acebea7779f660840f64b06f;hpb=307e368b5c81ae0a71278e30bc63eb00e276b383;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/gengenrtl.c b/gcc/gengenrtl.c index b90c9ee29b2..e4ac109ee3a 100644 --- a/gcc/gengenrtl.c +++ b/gcc/gengenrtl.c @@ -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);