]> granicus.if.org Git - clang/commitdiff
make default diagnostic mapping more explicit in .td file.
authorChris Lattner <sabre@nondot.org>
Wed, 15 Apr 2009 05:15:08 +0000 (05:15 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 15 Apr 2009 05:15:08 +0000 (05:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69149 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Diagnostic.td

index 5f1e4ec4da84014c7b114149f2ec4ad4ef048c5e..67510ea83c4df9143906867324450cae12e3c8bd 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
-// All diagnostics emitted by the compiler are an indirect subclass of this.
-class Diagnostic<string text> {
-  string Component = ?;
-  string Text = text;
+// Define the diagnostic mappings.
+class DiagMapping;
+def MAP_IGNORE  : DiagMapping;
+def MAP_WARNING : DiagMapping;
+def MAP_ERROR   : DiagMapping;
+def MAP_FATAL   : DiagMapping;
+
+/*
+class Option<string name, list<OptionControlled> members> : OptionControlled {
+  string Name = name;
+  list<OptionControlled> Members = members;
 }
 
-class Error<string text> : Diagnostic<text>;
-class Note<string text> : Diagnostic<text>;
+// Definitions for options ("warning groups").
+include "DiagnosticOptions.td"
 
-// Anything that can be controlled by an option subclasses this.
-class OptionControlled;
+*/
 
-class DiagnosticControlled<string text, string defaultMapping>
-  : Diagnostic<text>, OptionControlled {
-  string DefaultMapping = defaultMapping;
+// All diagnostics emitted by the compiler are an indirect subclass of this.
+class Diagnostic<string text, DiagMapping defaultmapping> {
+  /// Component is specified by the file with a big let directive.
+  string Component = ?;
+  string Text = text;
+  DiagMapping DefaultMapping = defaultmapping;
 }
-class Warning<string text> : DiagnosticControlled<text, "warning"> {}
-class Extension<string text> : DiagnosticControlled<text, "ignore"> {}
-class ExtWarn<string text> : DiagnosticControlled<text, "warning"> {}
 
-class Option<string name, list<OptionControlled> members> : OptionControlled {
-  string Name = name;
-  list<OptionControlled> Members = members;
-}
+class Error<string text>     : Diagnostic<text, MAP_ERROR>;
+class Warning<string text>   : Diagnostic<text, MAP_WARNING>;
+class Extension<string text> : Diagnostic<text, MAP_IGNORE>;
+class ExtWarn<string text>   : Diagnostic<text, MAP_WARNING>;
+class Note<string text>      : Diagnostic<text, MAP_FATAL /*ignored*/>;
 
 // Definitions for Diagnostics.
 include "DiagnosticASTKinds.td"
@@ -47,5 +54,3 @@ include "DiagnosticLexKinds.td"
 include "DiagnosticParseKinds.td"
 include "DiagnosticSemaKinds.td"
 
-// Definitions for options ("warning groups").
-include "DiagnosticOptions.td"