Add Diagnostic files for Frontend and move a couple errors over.
- Notably, clang now exits with an error if it can't find a
file. This flushed out a bug in the CGColorSpace.c test case. :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66789 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp
index 3e3802a..890b0c2 100644
--- a/lib/Basic/Diagnostic.cpp
+++ b/lib/Basic/Diagnostic.cpp
@@ -48,6 +48,10 @@
#include "clang/Basic/DiagnosticDriverKinds.def"
0
};
+static unsigned char DiagnosticFlagsFrontend[] = {
+#include "clang/Basic/DiagnosticFrontendKinds.def"
+ 0
+};
static unsigned char DiagnosticFlagsLex[] = {
#include "clang/Basic/DiagnosticLexKinds.def"
0
@@ -78,8 +82,10 @@
unsigned res;
if (DiagID < diag::DIAG_START_DRIVER)
res = DiagnosticFlagsCommon[DiagID];
- else if (DiagID < diag::DIAG_START_LEX)
+ else if (DiagID < diag::DIAG_START_FRONTEND)
res = DiagnosticFlagsDriver[DiagID - diag::DIAG_START_DRIVER - 1];
+ else if (DiagID < diag::DIAG_START_LEX)
+ res = DiagnosticFlagsFrontend[DiagID - diag::DIAG_START_FRONTEND - 1];
else if (DiagID < diag::DIAG_START_PARSE)
res = DiagnosticFlagsLex[DiagID - diag::DIAG_START_LEX - 1];
else if (DiagID < diag::DIAG_START_AST)
@@ -104,6 +110,10 @@
#include "clang/Basic/DiagnosticDriverKinds.def"
0
};
+static const char * const DiagnosticTextFrontend[] = {
+#include "clang/Basic/DiagnosticFrontendKinds.def"
+ 0
+};
static const char * const DiagnosticTextLex[] = {
#include "clang/Basic/DiagnosticLexKinds.def"
0
@@ -249,8 +259,10 @@
const char *Diagnostic::getDescription(unsigned DiagID) const {
if (DiagID < diag::DIAG_START_DRIVER)
return DiagnosticTextCommon[DiagID];
- else if (DiagID < diag::DIAG_START_LEX)
+ else if (DiagID < diag::DIAG_START_FRONTEND)
return DiagnosticTextDriver[DiagID - diag::DIAG_START_DRIVER - 1];
+ else if (DiagID < diag::DIAG_START_LEX)
+ return DiagnosticTextFrontend[DiagID - diag::DIAG_START_FRONTEND - 1];
else if (DiagID < diag::DIAG_START_PARSE)
return DiagnosticTextLex[DiagID - diag::DIAG_START_LEX - 1];
else if (DiagID < diag::DIAG_START_AST)