summaryrefslogtreecommitdiffstats
path: root/clang/tools/diagtool/ListWarnings.cpp
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-06-01 21:23:17 +0000
committerJordan Rose <jordan_rose@apple.com>2012-06-01 21:23:17 +0000
commitd617e06997d2be193a5f580a4401c55e63b47f9f (patch)
treee84fd95bd93721bd5cd07172bc3d0e26491714ef /clang/tools/diagtool/ListWarnings.cpp
parent8b4fcec988af431649008f71b2dd7f2ed9e86d6b (diff)
downloadbcm5719-llvm-d617e06997d2be193a5f580a4401c55e63b47f9f.tar.gz
bcm5719-llvm-d617e06997d2be193a5f580a4401c55e63b47f9f.zip
[diagtool] Add 'show-enabled', which displays which warnings are enabled.
show-enabled uses the command line you give it to build a CompilerInstance, so any flags you pass will be processed as if running clang proper. llvm-svn: 157842
Diffstat (limited to 'clang/tools/diagtool/ListWarnings.cpp')
-rw-r--r--clang/tools/diagtool/ListWarnings.cpp27
1 files changed, 3 insertions, 24 deletions
diff --git a/clang/tools/diagtool/ListWarnings.cpp b/clang/tools/diagtool/ListWarnings.cpp
index 2bbeca80249..6c59338eef1 100644
--- a/clang/tools/diagtool/ListWarnings.cpp
+++ b/clang/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;
OpenPOWER on IntegriCloud