summaryrefslogtreecommitdiffstats
path: root/clang/tools/diagtool/diagtool_main.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2011-08-09 03:39:19 +0000
committerTed Kremenek <kremenek@apple.com>2011-08-09 03:39:19 +0000
commitf88d335ca7af009377d8effa7d674d43ada8e5e3 (patch)
tree16ebd00e5a4f1b7b400986a26c63e305071d6924 /clang/tools/diagtool/diagtool_main.cpp
parent309e288e01ef364ca3327d81f84510b2e289e8df (diff)
downloadbcm5719-llvm-f88d335ca7af009377d8effa7d674d43ada8e5e3.tar.gz
bcm5719-llvm-f88d335ca7af009377d8effa7d674d43ada8e5e3.zip
Add 'diagtool' to the 'tools/' directory. diagtool is a new tool (WIP) for analyzing and working with clang diagnostics.
Some interesting stats from 'diagtool list-warnings' on the current version of clang: Percentage of warnings with flags: 48.79% Number of unique flags: 148 Average number of diagnostics per flag: 2.041 llvm-svn: 137109
Diffstat (limited to 'clang/tools/diagtool/diagtool_main.cpp')
-rw-r--r--clang/tools/diagtool/diagtool_main.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/clang/tools/diagtool/diagtool_main.cpp b/clang/tools/diagtool/diagtool_main.cpp
new file mode 100644
index 00000000000..66a73e947a1
--- /dev/null
+++ b/clang/tools/diagtool/diagtool_main.cpp
@@ -0,0 +1,26 @@
+//===- diagtool_main.h - Entry point for invoking all diagnostic tools ----===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the main function for diagtool.
+//
+//===----------------------------------------------------------------------===//
+
+#include "DiagTool.h"
+
+using namespace diagtool;
+
+int main(int argc, char *argv[]) {
+ if (argc > 1)
+ if (DiagTool *tool = diagTools.getTool(argv[1]))
+ return tool->run(argc - 1, &argv[2], llvm::errs());
+
+ llvm::errs() << "usage: diagtool <command> [<args>]\n\n";
+ diagTools.printCommands(llvm::errs());
+ return 1;
+}
OpenPOWER on IntegriCloud