summaryrefslogtreecommitdiffstats
path: root/tools/clang-check/ClangCheck.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/clang-check/ClangCheck.cpp')
-rw-r--r--tools/clang-check/ClangCheck.cpp16
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>());
}