diff options
author | Daniel Dunbar <daniel@zuster.org> | 2011-09-29 01:52:06 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2011-09-29 01:52:06 +0000 |
commit | a5e41333b06fdf036d58495490eb14d6a0a3fcf7 (patch) | |
tree | 77d93d088ad11d28667f1974baeaf58870afcba3 /include/clang/Basic/DiagnosticIDs.h | |
parent | 3f8394669673451061f57ced81f0a2cae087f119 (diff) | |
download | clang-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.h | 21 |
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 |