diff options
Diffstat (limited to 'include/clang/Tooling/CommandLineClangTool.h')
-rw-r--r-- | include/clang/Tooling/CommandLineClangTool.h | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/include/clang/Tooling/CommandLineClangTool.h b/include/clang/Tooling/CommandLineClangTool.h deleted file mode 100644 index c29c302..0000000 --- a/include/clang/Tooling/CommandLineClangTool.h +++ /dev/null @@ -1,80 +0,0 @@ -//===- CommandLineClangTool.h - command-line clang tools driver -*- C++ -*-===// -// -// 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. -// -// This class uses the Clang Tooling infrastructure, see -// http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html -// for details on setting it up with LLVM source tree. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_TOOLS_CLANG_INCLUDE_CLANG_TOOLING_COMMANDLINECLANGTOOL_H -#define LLVM_TOOLS_CLANG_INCLUDE_CLANG_TOOLING_COMMANDLINECLANGTOOL_H - -#include "llvm/Support/CommandLine.h" -#include "clang/Tooling/CompilationDatabase.h" - -namespace clang { - -namespace tooling { - -class CompilationDatabase; -class FrontendActionFactory; - -/// \brief A common driver for command-line Clang tools. -/// -/// Parses a common subset of command-line arguments, locates and loads a -/// compilation commands database, runs a tool with user-specified action. It -/// also contains a help message for the common command-line options. -/// An example of usage: -/// @code -/// int main(int argc, const char **argv) { -/// CommandLineClangTool Tool; -/// cl::extrahelp MoreHelp("\nMore help text..."); -/// Tool.initialize(argc, argv); -/// return Tool.run(newFrontendActionFactory<clang::SyntaxOnlyAction>()); -/// } -/// @endcode -/// -class CommandLineClangTool { -public: - /// Sets up command-line options and help messages. - /// Add your own help messages after constructing this tool. - CommandLineClangTool(); - - /// Parses command-line, initializes a compilation database. - /// This method exits program in case of error. - void initialize(int argc, const char **argv); - - /// Runs a clang tool with an action created by \c ActionFactory. - int run(FrontendActionFactory *ActionFactory); - -private: - llvm::OwningPtr<CompilationDatabase> Compilations; - llvm::cl::opt<std::string> BuildPath; - llvm::cl::list<std::string> SourcePaths; - llvm::cl::extrahelp MoreHelp; -}; - -} // namespace tooling - -} // namespace clang - -#endif // LLVM_TOOLS_CLANG_INCLUDE_CLANG_TOOLING_COMMANDLINECLANGTOOL_H |