static int execution_count;
+/* Number of commands that exited with a signal. */
+
+static int signal_count;
+
/* Name with which this program was invoked. */
static char *programname;
prog = commands[j].prog;
if ((status & 0x7F) != 0)
- fatal ("Internal compiler error: program %s got fatal signal %d",
- prog, (status & 0x7F));
+ {
+ fatal ("Internal compiler error: program %s got fatal signal %d",
+ prog, (status & 0x7F));
+ signal_count++;
+ }
if (((status & 0xFF00) >> 8) >= MIN_FATAL_STATUS)
ret_code = -1;
}
delete_failure_queue ();
delete_temp_files ();
- exit (error_count);
+ exit (error_count > 0 ? (signal_count ? 2 : 1) : 0);
/* NOTREACHED */
return 0;
}