From f88d335ca7af009377d8effa7d674d43ada8e5e3 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Tue, 9 Aug 2011 03:39:19 +0000 Subject: 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 --- clang/tools/diagtool/diagtool_main.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 clang/tools/diagtool/diagtool_main.cpp (limited to 'clang/tools/diagtool/diagtool_main.cpp') 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 []\n\n"; + diagTools.printCommands(llvm::errs()); + return 1; +} -- cgit v1.2.3