summaryrefslogtreecommitdiff
path: root/include/clang/Basic/DiagnosticIDs.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2011-09-29 01:52:06 +0000
committerDaniel Dunbar <daniel@zuster.org>2011-09-29 01:52:06 +0000
commita5e41333b06fdf036d58495490eb14d6a0a3fcf7 (patch)
tree77d93d088ad11d28667f1974baeaf58870afcba3 /include/clang/Basic/DiagnosticIDs.h
parent3f8394669673451061f57ced81f0a2cae087f119 (diff)
downloadclang-a5e41333b06fdf036d58495490eb14d6a0a3fcf7.tar.gz
clang-a5e41333b06fdf036d58495490eb14d6a0a3fcf7.tar.bz2
clang-a5e41333b06fdf036d58495490eb14d6a0a3fcf7.tar.xz
Basic/Diagnostics: Add three explicit bits to DiagnosticMappingInfo to track "no-warning-as-error", "no-error-as-fatal", and "show-in-system-header", and update DiagnosticsEngine::setDiagnosticGroup{WarningAsError,ErrorAsFatal} and GetDefaultDiagMappingInfo to set them appropriately.
- No actual functionality change for now, we still also use the diag::Mapping::{MAP_WARNING_NO_ERROR,MAP_ERROR_NO_FATAL,MAP_WARNING_SHOW_IN_SYSTEM_HEADER} for a little while longer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140768 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticIDs.h')
-rw-r--r--include/clang/Basic/DiagnosticIDs.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/clang/Basic/DiagnosticIDs.h b/include/clang/Basic/DiagnosticIDs.h
index 6a6a87e0fd..e119f310a2 100644
--- a/include/clang/Basic/DiagnosticIDs.h
+++ b/include/clang/Basic/DiagnosticIDs.h
@@ -83,11 +83,14 @@ class DiagnosticMappingInfo {
unsigned Mapping : 3;
unsigned IsUser : 1;
unsigned IsPragma : 1;
+ unsigned HasShowInSystemHeader : 1;
+ unsigned HasNoWarningAsError : 1;
+ unsigned HasNoErrorAsFatal : 1;
public:
static DiagnosticMappingInfo MakeUnset() {
DiagnosticMappingInfo Result;
- Result.Mapping = Result.IsUser = Result.IsPragma = 0;
+ Result.Mapping = 0;
return Result;
}
@@ -97,14 +100,28 @@ public:
Result.Mapping = Mapping;
Result.IsUser = IsUser;
Result.IsPragma = IsPragma;
+ Result.HasShowInSystemHeader = 0;
+ Result.HasNoWarningAsError = 0;
+ Result.HasNoErrorAsFatal = 0;
return Result;
}
+ bool isUnset() const { return Mapping == 0; }
+
diag::Mapping getMapping() const { return diag::Mapping(Mapping); }
+ void setMapping(diag::Mapping Value) { Mapping = Value; }
+
bool isUser() const { return IsUser; }
bool isPragma() const { return IsPragma; }
- bool isUnset() const { return Mapping == 0; }
+ bool hasShowInSystemHeader() const { return HasShowInSystemHeader; }
+ void setShowInSystemHeader(bool Value) { HasShowInSystemHeader = Value; }
+
+ bool hasNoWarningAsError() const { return HasNoWarningAsError; }
+ void setNoWarningAsError(bool Value) { HasNoWarningAsError = Value; }
+
+ bool hasNoErrorAsFatal() const { return HasNoErrorAsFatal; }
+ void setNoErrorAsFatal(bool Value) { HasNoErrorAsFatal = Value; }
};
/// \brief Used for handling and querying diagnostic IDs. Can be used and shared