aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/VirtualFileSystem.cpp
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2016-08-12 02:17:26 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2016-08-12 02:17:26 +0000
commite43e26395739bb91b1a581dc3b19063ebd82689d (patch)
tree9a5a17c194581cca2aec2b6e870f23781d8184cc /clang/lib/Basic/VirtualFileSystem.cpp
parent3997b1b427ea96690c694eff7b9d593156e5763c (diff)
downloadllvm-e43e26395739bb91b1a581dc3b19063ebd82689d.zip
llvm-e43e26395739bb91b1a581dc3b19063ebd82689d.tar.gz
llvm-e43e26395739bb91b1a581dc3b19063ebd82689d.tar.bz2
Revert "[VFS] Skip non existent files from the VFS tree"
Breaking bots: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/27281/ This reverts commit r278457. llvm-svn: 278459
Diffstat (limited to 'clang/lib/Basic/VirtualFileSystem.cpp')
-rw-r--r--clang/lib/Basic/VirtualFileSystem.cpp34
1 files changed, 8 insertions, 26 deletions
diff --git a/clang/lib/Basic/VirtualFileSystem.cpp b/clang/lib/Basic/VirtualFileSystem.cpp
index a56c911..62a386b 100644
--- a/clang/lib/Basic/VirtualFileSystem.cpp
+++ b/clang/lib/Basic/VirtualFileSystem.cpp
@@ -1778,47 +1778,29 @@ VFSFromYamlDirIterImpl::VFSFromYamlDirIterImpl(
RedirectingDirectoryEntry::iterator Begin,
RedirectingDirectoryEntry::iterator End, std::error_code &EC)
: Dir(_Path.str()), FS(FS), Current(Begin), End(End) {
- while (Current != End) {
+ if (Current != End) {
SmallString<128> PathStr(Dir);
llvm::sys::path::append(PathStr, (*Current)->getName());
llvm::ErrorOr<vfs::Status> S = FS.status(PathStr);
- if (S) {
+ if (S)
CurrentEntry = *S;
- return;
- }
- // Skip entries which do not map to a reliable external content.
- if (FS.ignoreNonExistentContents() &&
- S.getError() == llvm::errc::no_such_file_or_directory) {
- ++Current;
- continue;
- } else {
+ else
EC = S.getError();
- break;
- }
}
}
std::error_code VFSFromYamlDirIterImpl::increment() {
assert(Current != End && "cannot iterate past end");
- while (++Current != End) {
+ if (++Current != End) {
SmallString<128> PathStr(Dir);
llvm::sys::path::append(PathStr, (*Current)->getName());
llvm::ErrorOr<vfs::Status> S = FS.status(PathStr);
- if (!S) {
- // Skip entries which do not map to a reliable external content.
- if (FS.ignoreNonExistentContents() &&
- S.getError() == llvm::errc::no_such_file_or_directory) {
- continue;
- } else {
- return S.getError();
- }
- }
+ if (!S)
+ return S.getError();
CurrentEntry = *S;
- break;
- }
-
- if (Current == End)
+ } else {
CurrentEntry = Status();
+ }
return std::error_code();
}