diff options
author | Manuel Klimek <klimek@google.com> | 2012-04-18 07:41:50 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2012-04-18 07:41:50 +0000 |
commit | 30318e6df9c8c24d080211dfb92ef8065fa7381c (patch) | |
tree | 928c1951e5c086cb47024a690c0fa85579ed2a59 /tools/clang-check/ClangCheck.cpp | |
parent | 6403683411dac55afbe3435ceb19033e27cd9f96 (diff) |
Adds a FixedCompilationDatabase to be able to specify tool parameters
at the command line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154989 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/clang-check/ClangCheck.cpp')
-rw-r--r-- | tools/clang-check/ClangCheck.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tools/clang-check/ClangCheck.cpp b/tools/clang-check/ClangCheck.cpp index b5b6bd5a14..d68e282949 100644 --- a/tools/clang-check/ClangCheck.cpp +++ b/tools/clang-check/ClangCheck.cpp @@ -50,13 +50,17 @@ cl::list<std::string> SourcePaths( cl::desc("<source0> [... <sourceN>]"), cl::OneOrMore); -int main(int argc, char **argv) { - cl::ParseCommandLineOptions(argc, argv); - std::string ErrorMessage; +int main(int argc, const char **argv) { llvm::OwningPtr<CompilationDatabase> Compilations( - CompilationDatabase::loadFromDirectory(BuildPath, ErrorMessage)); - if (!Compilations) - llvm::report_fatal_error(ErrorMessage); + FixedCompilationDatabase::loadFromCommandLine(argc, argv)); + cl::ParseCommandLineOptions(argc, argv); + if (!Compilations) { + std::string ErrorMessage; + Compilations.reset(CompilationDatabase::loadFromDirectory(BuildPath, + ErrorMessage)); + if (!Compilations) + llvm::report_fatal_error(ErrorMessage); + } ClangTool Tool(*Compilations, SourcePaths); return Tool.run(newFrontendActionFactory<clang::SyntaxOnlyAction>()); } |