aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/Basic/Diagnostic.td16
1 files changed, 6 insertions, 10 deletions
diff --git a/include/clang/Basic/Diagnostic.td b/include/clang/Basic/Diagnostic.td
index 415e7fa811..dd8a872183 100644
--- a/include/clang/Basic/Diagnostic.td
+++ b/include/clang/Basic/Diagnostic.td
@@ -24,17 +24,13 @@ class Note<string text> : Diagnostic<text>;
// Anything that can be controlled by an option subclasses this.
class OptionControlled;
-class Warning<string text> : Diagnostic<text>, OptionControlled {
- string DefaultMapping = "warning";
+class DiagnosticControlled<string text, string defaultMapping>
+ : Diagnostic<text>, OptionControlled {
+ string DefaultMapping = defaultMapping;
}
-class Extension<string text> : Diagnostic<text>, OptionControlled {
- string DefaultMapping = "ignore";
-}
-class ExtWarn<string text> : Diagnostic<text>, OptionControlled {
- string DefaultMapping = "warning";
-}
-
-
+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;