aboutsummaryrefslogtreecommitdiff
path: root/tools/diagtool/ListWarnings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/diagtool/ListWarnings.cpp')
-rw-r--r--tools/diagtool/ListWarnings.cpp27
1 files changed, 3 insertions, 24 deletions
diff --git a/tools/diagtool/ListWarnings.cpp b/tools/diagtool/ListWarnings.cpp
index 2bbeca8024..6c59338eef 100644
--- a/tools/diagtool/ListWarnings.cpp
+++ b/tools/diagtool/ListWarnings.cpp
@@ -13,6 +13,7 @@
//===----------------------------------------------------------------------===//
#include "DiagTool.h"
+#include "DiagnosticNames.h"
#include "clang/Basic/Diagnostic.h"
#include "llvm/Support/Format.h"
#include "llvm/ADT/StringMap.h"
@@ -26,28 +27,6 @@ DEF_DIAGTOOL("list-warnings",
using namespace clang;
namespace {
-struct StaticDiagNameIndexRec {
- const char *NameStr;
- unsigned short DiagID;
- uint8_t NameLen;
-
- StringRef getName() const {
- return StringRef(NameStr, NameLen);
- }
-};
-}
-
-static const StaticDiagNameIndexRec StaticDiagNameIndex[] = {
-#define DIAG_NAME_INDEX(ENUM) { #ENUM, diag::ENUM, STR_SIZE(#ENUM, uint8_t) },
-#include "clang/Basic/DiagnosticIndexName.inc"
-#undef DIAG_NAME_INDEX
- { 0, 0, 0 }
-};
-
-static const unsigned StaticDiagNameIndexSize =
- sizeof(StaticDiagNameIndex)/sizeof(StaticDiagNameIndex[0])-1;
-
-namespace {
struct Entry {
llvm::StringRef DiagName;
llvm::StringRef Flag;
@@ -73,8 +52,8 @@ int ListWarnings::run(unsigned int argc, char **argv, llvm::raw_ostream &out) {
std::vector<Entry> Flagged, Unflagged;
llvm::StringMap<std::vector<unsigned> > flagHistogram;
- for (const StaticDiagNameIndexRec *di = StaticDiagNameIndex, *de = StaticDiagNameIndex + StaticDiagNameIndexSize;
- di != de; ++di) {
+ for (const diagtool::DiagnosticRecord *di = diagtool::BuiltinDiagnostics,
+ *de = di + diagtool::BuiltinDiagnosticsCount; di != de; ++di) {
unsigned diagID = di->DiagID;