//===- tools/clang-check/ClangCheck.cpp - Clang check tool ----------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file implements a clang-check tool that runs the // clang::SyntaxOnlyAction over a number of translation units. // // This tool uses the Clang Tooling infrastructure, see // http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html // for details on setting it up with LLVM source tree. // //===----------------------------------------------------------------------===// #include "llvm/Support/CommandLine.h" #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 = "\tFor example, to run clang-check on all files in a subtree of the\n" "\tsource tree, use:\n" "\n" "\t find path/in/subtree -name '*.cpp'|xargs clang-check\n" "\n" "\tor using a specific build path:\n" "\n" "\t find path/in/subtree -name '*.cpp'|xargs clang-check -p build/path\n" "\n" "\tNote, that path/in/subtree and current directory should follow the\n" "\trules described above.\n" "\n"; int main(int argc, const char **argv) { CommandLineClangTool Tool; cl::extrahelp MoreHelp(MoreHelpText); Tool.initialize(argc, argv); return Tool.run(newFrontendActionFactory()); }