diff options
author | Daniel Jasper <djasper@google.com> | 2012-10-15 13:12:24 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2012-10-15 13:12:24 +0000 |
commit | 74351ff4ac69665bad0f6e5b852de488d36388e1 (patch) | |
tree | e61615decffcffd41770e11f2380cd493210fb42 /clang/lib/Tooling/CompilationDatabase.cpp | |
parent | 16205cd4fa2c816b7ee19fa38c133831fb754393 (diff) | |
download | bcm5719-llvm-74351ff4ac69665bad0f6e5b852de488d36388e1.tar.gz bcm5719-llvm-74351ff4ac69665bad0f6e5b852de488d36388e1.zip |
Only report first error when no compilation database is found.
Review: http://llvm-reviews.chandlerc.com/D62
llvm-svn: 165933
Diffstat (limited to 'clang/lib/Tooling/CompilationDatabase.cpp')
-rw-r--r-- | clang/lib/Tooling/CompilationDatabase.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/Tooling/CompilationDatabase.cpp b/clang/lib/Tooling/CompilationDatabase.cpp index 6e941802dc2..4149cda3787 100644 --- a/clang/lib/Tooling/CompilationDatabase.cpp +++ b/clang/lib/Tooling/CompilationDatabase.cpp @@ -49,14 +49,19 @@ static CompilationDatabase * findCompilationDatabaseFromDirectory(StringRef Directory, std::string &ErrorMessage) { std::stringstream ErrorStream; + bool HasErrorMessage = false; while (!Directory.empty()) { std::string LoadErrorMessage; if (CompilationDatabase *DB = CompilationDatabase::loadFromDirectory(Directory, LoadErrorMessage)) return DB; - ErrorStream << "No compilation database found in " << Directory.str() - << "\n" << LoadErrorMessage; + + if (!HasErrorMessage) { + ErrorStream << "No compilation database found in " << Directory.str() + << " or any parent directory\n" << LoadErrorMessage; + HasErrorMessage = true; + } Directory = llvm::sys::path::parent_path(Directory); } |