diff options
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>()); } |