summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Diagnostic.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-12 08:55:43 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-12 08:55:43 +0000
commitc0b3e95a1ad572cb8e27ae027b20898c42a164d1 (patch)
treedb7d56934152548252ec0326158c096f2a8fee85 /clang/lib/Basic/Diagnostic.cpp
parent33699689ed30466edd61f199fd9b49f08af4f52b (diff)
downloadbcm5719-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.cpp16
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)
OpenPOWER on IntegriCloud