aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index c5675c1c172..5da95455555 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1436,21 +1436,24 @@ fatal_io_error (name)
just calling abort(). */
void
-fatal_insn (msgid, insn)
- const char *msgid;
- rtx insn;
+fatal_insn VPROTO((const char *msgid, rtx insn, ...))
{
- error (msgid);
+#ifndef ANSI_PROTOTYPES
+ const char *msgid;
+ rtx insn;
+#endif
+ va_list ap;
+
+ VA_START (ap, insn);
+
+#ifndef ANSI_PROTOTYPES
+ msgid = va_arg (ap, const char *);
+ insn = va_arg (ap, rtx);
+#endif
+
+ verror (msgid, ap);
debug_rtx (insn);
- if (asm_out_file)
- fflush (asm_out_file);
- if (aux_info_file)
- fflush (aux_info_file);
- if (rtl_dump_file != NULL)
- fflush (rtl_dump_file);
- fflush (stdout);
- fflush (stderr);
- abort ();
+ exit (FATAL_EXIT_CODE);
}
/* Called to give a better error message when we don't have an insn to match