aboutsummaryrefslogtreecommitdiff
path: root/gcc/diagnostic.def
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2006-01-18 20:02:42 +0000
committerDJ Delorie <dj@redhat.com>2006-01-18 20:02:42 +0000
commit1dfa7f1d15ba2e87b20f68cede101a0cee0dafd2 (patch)
treefc2b70d94a779eb0814d5f4a6c95145347b94e16 /gcc/diagnostic.def
parente2d2209e57158fc09ca272786d66d2d99bda6024 (diff)
* c-pragma.c (handle_pragma_diagnostic): New.
(init_pragma): Register it. * doc/extend.texi: Document it. * diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED. * diagnostic.h (diagnostic_classify_diagnostic): Declare. (diagnostic_context): Add classify_diagnostic[]. * diagnostic.c (diagnostic_count_diagnostic): Don't count warnings as errors if they're overridden to DK_WARNING. (diagnostic_initialize): Initialize classify_diagnostic[]. (diagnostic_set_kind_override): New. (diagnostic_report_diagnostic): Check for kind changes. * opts.c (common_handle_option): Take lang_mask. Update callers. Handle OPT_Werror_. * common.opt (Werror=): New. * doc/invoke.texi: Document -Werror=* git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@109907 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/diagnostic.def')
-rw-r--r--gcc/diagnostic.def14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/diagnostic.def b/gcc/diagnostic.def
index 6820bb72e9f..bbdba2f1aa2 100644
--- a/gcc/diagnostic.def
+++ b/gcc/diagnostic.def
@@ -1,3 +1,17 @@
+/* DK_UNSPECIFIED must be first so it has a value of zero. We never
+ assign this kind to an actual diagnostic, we only use this in
+ variables that can hold a kind, to mean they have yet to have a
+ kind specified. I.e. they're uninitialized. Within the diagnostic
+ machinery, this kind also means "don't change the existing kind",
+ meaning "no change is specified". */
+DEFINE_DIAGNOSTIC_KIND (DK_UNSPECIFIED, "")
+
+/* If a diagnostic is set to DK_IGNORED, it won't get reported at all.
+ This is used by the diagnostic machinery when it wants to disable a
+ diagnostic without disabling the option which causes it. */
+DEFINE_DIAGNOSTIC_KIND (DK_IGNORED, "")
+
+/* The remainder are real diagnostic types. */
DEFINE_DIAGNOSTIC_KIND (DK_FATAL, "fatal error: ")
DEFINE_DIAGNOSTIC_KIND (DK_ICE, "internal compiler error: ")
DEFINE_DIAGNOSTIC_KIND (DK_ERROR, "error: ")