summaryrefslogtreecommitdiffstats
path: root/clang/lib/Tooling/CompilationDatabase.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2012-10-15 13:12:24 +0000
committerDaniel Jasper <djasper@google.com>2012-10-15 13:12:24 +0000
commit74351ff4ac69665bad0f6e5b852de488d36388e1 (patch)
treee61615decffcffd41770e11f2380cd493210fb42 /clang/lib/Tooling/CompilationDatabase.cpp
parent16205cd4fa2c816b7ee19fa38c133831fb754393 (diff)
downloadbcm5719-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.cpp9
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);
}
OpenPOWER on IntegriCloud