/* Generate code from machine description to extract operands from insn as rtl.
- Copyright (C) 1987, 1991, 1992, 1993, 1997, 1998, 1999, 2000, 2003
+ Copyright (C) 1987, 1991, 1992, 1993, 1997, 1998, 1999, 2000, 2003,
+ 2004, 2005
Free Software Foundation, Inc.
This file is part of GCC.
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, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#include "bconfig.h"
else if (ISDIGIT(path[i]))
printf ("XEXP (");
else
- abort ();
+ gcc_unreachable ();
}
printf ("pat");
else if (ISDIGIT(path[i]))
printf (", %d)", path[i] - '0');
else
- abort ();
+ gcc_unreachable ();
}
}
\f
progname = "genextract";
- if (argc <= 1)
- fatal ("no input file name");
-
if (init_md_reader_args (argc, argv) != SUCCESS_EXIT_CODE)
return (FATAL_EXIT_CODE);
printf (" rtx **ro_loc = recog_data.operand_loc;\n");
printf (" rtx pat = PATTERN (insn);\n");
printf (" int i ATTRIBUTE_UNUSED;\n\n");
- printf (" memset (ro, 0, sizeof (*ro) * MAX_RECOG_OPERANDS);\n");
- printf (" memset (ro_loc, 0, sizeof (*ro_loc) * MAX_RECOG_OPERANDS);\n");
+#ifdef ENABLE_CHECKING
+ printf (" memset (ro, 0xab, sizeof (*ro) * MAX_RECOG_OPERANDS);\n");
+ printf (" memset (ro_loc, 0xab, sizeof (*ro_loc) * MAX_RECOG_OPERANDS);\n");
+#endif
printf (" switch (INSN_CODE (insn))\n");
printf (" {\n");
printf (" case -1:\n");
printf (" break;\n\n");
}
- /* This should never be reached. Note that we would also reach this abort
- if we tried to extract something whose INSN_CODE was a DEFINE_EXPAND or
- DEFINE_SPLIT, but that is correct. */
- printf (" default:\n abort ();\n");
+ /* This should never be reached. Note that we would also reach here
+ if we tried to extract something whose INSN_CODE was a
+ DEFINE_EXPAND or DEFINE_SPLIT, but that is correct. */
+ printf (" default:\n gcc_unreachable ();\n");
printf (" }\n}\n");