summaryrefslogtreecommitdiffstats
path: root/tools/clang-check/ClangCheck.cpp
diff options
context:
space:
mode:
authorManuel Klimek <klimek@google.com>2012-04-18 07:41:50 +0000
committerManuel Klimek <klimek@google.com>2012-04-18 07:41:50 +0000
commit30318e6df9c8c24d080211dfb92ef8065fa7381c (patch)
tree928c1951e5c086cb47024a690c0fa85579ed2a59 /tools/clang-check/ClangCheck.cpp
parent6403683411dac55afbe3435ceb19033e27cd9f96 (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.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>());
}