diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-03-12 08:55:43 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-03-12 08:55:43 +0000 |
commit | c0b3e95a1ad572cb8e27ae027b20898c42a164d1 (patch) | |
tree | db7d56934152548252ec0326158c096f2a8fee85 /clang/lib/Basic/Diagnostic.cpp | |
parent | 33699689ed30466edd61f199fd9b49f08af4f52b (diff) | |
download | bcm5719-llvm-c0b3e95a1ad572cb8e27ae027b20898c42a164d1.tar.gz bcm5719-llvm-c0b3e95a1ad572cb8e27ae027b20898c42a164d1.zip |
Driver: Use standard Diagnostic interface for diagnostics.
llvm-svn: 66786
Diffstat (limited to 'clang/lib/Basic/Diagnostic.cpp')
-rw-r--r-- | clang/lib/Basic/Diagnostic.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/clang/lib/Basic/Diagnostic.cpp b/clang/lib/Basic/Diagnostic.cpp index fa5ca57dfe6..3e3802ae20a 100644 --- a/clang/lib/Basic/Diagnostic.cpp +++ b/clang/lib/Basic/Diagnostic.cpp @@ -44,6 +44,10 @@ static unsigned char DiagnosticFlagsCommon[] = { #include "clang/Basic/DiagnosticCommonKinds.def" 0 }; +static unsigned char DiagnosticFlagsDriver[] = { +#include "clang/Basic/DiagnosticDriverKinds.def" + 0 +}; static unsigned char DiagnosticFlagsLex[] = { #include "clang/Basic/DiagnosticLexKinds.def" 0 @@ -72,8 +76,10 @@ static unsigned getBuiltinDiagClass(unsigned DiagID) { assert(DiagID < diag::DIAG_UPPER_LIMIT && "Diagnostic ID out of range!"); unsigned res; - if (DiagID < diag::DIAG_START_LEX) + if (DiagID < diag::DIAG_START_DRIVER) res = DiagnosticFlagsCommon[DiagID]; + else if (DiagID < diag::DIAG_START_LEX) + res = DiagnosticFlagsDriver[DiagID - diag::DIAG_START_DRIVER - 1]; else if (DiagID < diag::DIAG_START_PARSE) res = DiagnosticFlagsLex[DiagID - diag::DIAG_START_LEX - 1]; else if (DiagID < diag::DIAG_START_AST) @@ -94,6 +100,10 @@ static const char * const DiagnosticTextCommon[] = { #include "clang/Basic/DiagnosticCommonKinds.def" 0 }; +static const char * const DiagnosticTextDriver[] = { +#include "clang/Basic/DiagnosticDriverKinds.def" + 0 +}; static const char * const DiagnosticTextLex[] = { #include "clang/Basic/DiagnosticLexKinds.def" 0 @@ -237,8 +247,10 @@ bool Diagnostic::isBuiltinNote(unsigned DiagID) { /// getDescription - Given a diagnostic ID, return a description of the /// issue. const char *Diagnostic::getDescription(unsigned DiagID) const { - if (DiagID < diag::DIAG_START_LEX) + if (DiagID < diag::DIAG_START_DRIVER) return DiagnosticTextCommon[DiagID]; + else if (DiagID < diag::DIAG_START_LEX) + return DiagnosticTextDriver[DiagID - diag::DIAG_START_DRIVER - 1]; else if (DiagID < diag::DIAG_START_PARSE) return DiagnosticTextLex[DiagID - diag::DIAG_START_LEX - 1]; else if (DiagID < diag::DIAG_START_AST) |