X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fgenemit.c;h=caf808e99c99034584d13a2968455f437aa85c38;hb=25c54918978537122a535d8ca782cc7983494410;hp=a1ebcf68cd7237d16f7c0608211122934a711740;hpb=778725bb221f705d653fb669367eeefd42445df6;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/genemit.c b/gcc/genemit.c index a1ebcf68cd7..caf808e99c9 100644 --- a/gcc/genemit.c +++ b/gcc/genemit.c @@ -1,12 +1,12 @@ /* Generate code from machine description to emit insns as rtl. Copyright (C) 1987, 1988, 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001, - 2003, 2004, 2005 Free Software Foundation, Inc. + 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later +Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY @@ -15,9 +15,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING. If not, write to the Free -Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301, USA. */ +along with GCC; see the file COPYING3. If not see +. */ #include "bconfig.h" @@ -258,6 +257,7 @@ gen_exp (rtx x, enum rtx_code subroutine_type, char *used) return; case CONST_DOUBLE: + case CONST_FIXED: /* These shouldn't be written in MD files. Instead, the appropriate routines in varasm.c should be called. */ gcc_unreachable (); @@ -534,7 +534,8 @@ gen_expand (rtx expand) Use emit_insn to add them to the sequence being accumulated. But don't do this if the user's code has set `no_more' nonzero. */ - used = XCNEWVEC (char, operands); + used = XCNEWVEC (char, + MAX (operands, MAX (max_scratch_opno, max_dup_opno) + 1)); for (i = 0; i < XVECLEN (expand, 1); i++) { @@ -620,7 +621,7 @@ gen_split (rtx split) else { printf ("extern rtx gen_split_%d (rtx, rtx *);\n", insn_code_number); - printf ("rtx\ngen_split_%d (rtx curr_insn ATTRIBUTE_UNUSED, rtx *operands%s)\n", + printf ("rtx\ngen_split_%d (rtx curr_insn ATTRIBUTE_UNUSED, rtx *operands%s)\n", insn_code_number, unused); } printf ("{\n"); @@ -844,6 +845,7 @@ from the machine description file `md'. */\n\n"); printf ("#include \"expr.h\"\n"); printf ("#include \"optabs.h\"\n"); printf ("#include \"real.h\"\n"); + printf ("#include \"dfp.h\"\n"); printf ("#include \"flags.h\"\n"); printf ("#include \"output.h\"\n"); printf ("#include \"insn-config.h\"\n"); @@ -852,9 +854,11 @@ from the machine description file `md'. */\n\n"); printf ("#include \"resource.h\"\n"); printf ("#include \"reload.h\"\n"); printf ("#include \"toplev.h\"\n"); + printf ("#include \"regs.h\"\n"); printf ("#include \"tm-constrs.h\"\n"); - printf ("#include \"ggc.h\"\n\n"); - printf ("#include \"basic-block.h\"\n\n"); + printf ("#include \"ggc.h\"\n"); + printf ("#include \"basic-block.h\"\n"); + printf ("#include \"integrate.h\"\n\n"); printf ("#define FAIL return (end_sequence (), _val)\n"); printf ("#define DONE return (_val = get_insns (), end_sequence (), _val)\n\n");