summaryrefslogtreecommitdiff
path: root/gcc/diagnostic.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-30 05:29:23 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-30 05:29:23 +0000
commit295acf4f5ca177d3b8d9fb631b463e4011378197 (patch)
tree6a6d9a948a86807f77ca3ea4ba0484743388b9e7 /gcc/diagnostic.c
parent5024a4f824b5e13f75592bf62c8456f736c34c57 (diff)
downloadgcc-295acf4f5ca177d3b8d9fb631b463e4011378197.tar.gz
Patch from Richard Guenther.
* commom.opt (Wfatal-errors): Add it. * diagnostic.c (flag_fatal_errors): Define it. (diagnostic_action_after_output): Check for flag_fatal_errors. * flags.h (flag_fatal_errors): Declare it. * opts.c (common_handle_option): Add OPT_Wfatal_errors. * doc/invoke.texi (Warning Options): Document -Wfatal-errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81323 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/diagnostic.c')
-rw-r--r--gcc/diagnostic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index b495d6451c3..16afddc1b4b 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -67,6 +67,7 @@ diagnostic_context *global_dc = &global_diagnostic_context;
with preprocessed source if appropriate.\n\
See %s for instructions.\n"
+int flag_fatal_errors = 0;
/* Return a malloc'd string containing MSG formatted a la printf. The
caller is responsible for freeing the memory. */
@@ -264,6 +265,11 @@ diagnostic_action_after_output (diagnostic_context *context,
case DK_SORRY:
if (context->abort_on_error)
real_abort ();
+ if (flag_fatal_errors)
+ {
+ fnotice (stderr, "compilation terminated due to -Wfatal-errors.\n");
+ exit (FATAL_EXIT_CODE);
+ }
break;
case DK_ICE: