diff options
author | Alexander Kornienko <alexfh@google.com> | 2012-08-22 20:52:52 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2012-08-22 20:52:52 +0000 |
commit | d7166b01df14173b7f26620c5a89f9934a968f85 (patch) | |
tree | 65c3fe7566459788880fc07a77a1f35a230ba9cd /lib/Tooling/CommandLineClangTool.cpp | |
parent | 9072a026a111726022b4f1c7f0a925d642ae8991 (diff) |
Reverted clang-check to fully supported CommandLine Library use-case: global
static variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162391 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Tooling/CommandLineClangTool.cpp')
-rw-r--r-- | lib/Tooling/CommandLineClangTool.cpp | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/lib/Tooling/CommandLineClangTool.cpp b/lib/Tooling/CommandLineClangTool.cpp deleted file mode 100644 index 8da2a335a5..0000000000 --- a/lib/Tooling/CommandLineClangTool.cpp +++ /dev/null @@ -1,80 +0,0 @@ -//===--- CommandLineClangTool.cpp - command-line clang tools driver -------===// -// -// 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 CommandLineClangTool class used to run clang -// tools as separate command-line applications with a consistent common -// interface for handling compilation database and input files. -// -// It provides a common subset of command-line options, common algorithm -// for locating a compilation database and source files, and help messages -// for the basic command-line interface. -// -// It creates a CompilationDatabase, initializes a ClangTool and runs a -// user-specified FrontendAction over all TUs in which the given files are -// compiled. -// -//===----------------------------------------------------------------------===// - -#include "clang/Frontend/FrontendActions.h" -#include "clang/Tooling/CommandLineClangTool.h" -#include "clang/Tooling/Tooling.h" - -using namespace clang::tooling; -using namespace llvm; - -static const char *MoreHelpText = - "\n" - "-p <build-path> is used to read a compile command database.\n" - "\n" - "\tFor example, it can be a CMake build directory in which a file named\n" - "\tcompile_commands.json exists (use -DCMAKE_EXPORT_COMPILE_COMMANDS=ON\n" - "\tCMake option to get this output). When no build path is specified,\n" - "\tclang-check will attempt to locate it automatically using all parent\n" - "\tpaths of the first input file. See:\n" - "\thttp://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an\n" - "\texample of setting up Clang Tooling on a source tree.\n" - "\n" - "<source0> ... specify the paths of source files. These paths are looked\n" - "\tup in the compile command database. If the path of a file is absolute,\n" - "\tit needs to point into CMake's source tree. If the path is relative,\n" - "\tthe current working directory needs to be in the CMake source tree and\n" - "\tthe file must be in a subdirectory of the current working directory.\n" - "\t\"./\" prefixes in the relative files will be automatically removed,\n" - "\tbut the rest of a relative path must be a suffix of a path in the\n" - "\tcompile command database.\n" - "\n"; - -CommandLineClangTool::CommandLineClangTool() : - BuildPath("p", cl::desc("Build path"), cl::Optional), - SourcePaths(cl::Positional, cl::desc("<source0> [... <sourceN>]"), - cl::OneOrMore), - MoreHelp(MoreHelpText) { -} - -void CommandLineClangTool::initialize(int argc, const char **argv) { - Compilations.reset(FixedCompilationDatabase::loadFromCommandLine(argc, argv)); - cl::ParseCommandLineOptions(argc, argv); - if (!Compilations) { - std::string ErrorMessage; - if (!BuildPath.empty()) { - Compilations.reset(CompilationDatabase::autoDetectFromDirectory( - BuildPath, ErrorMessage)); - } else { - Compilations.reset(CompilationDatabase::autoDetectFromSource( - SourcePaths[0], ErrorMessage)); - } - if (!Compilations) - llvm::report_fatal_error(ErrorMessage); - } -} - -int CommandLineClangTool::run(FrontendActionFactory *ActionFactory) { - ClangTool Tool(*Compilations, SourcePaths); - return Tool.run(ActionFactory); -} |