aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/VirtualFileSystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Support/VirtualFileSystem.cpp')
-rw-r--r--llvm/lib/Support/VirtualFileSystem.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/Support/VirtualFileSystem.cpp b/llvm/lib/Support/VirtualFileSystem.cpp
index f9c15bf..ce2bf2b 100644
--- a/llvm/lib/Support/VirtualFileSystem.cpp
+++ b/llvm/lib/Support/VirtualFileSystem.cpp
@@ -2913,30 +2913,31 @@ vfs::recursive_directory_iterator::recursive_directory_iterator(
directory_iterator I = FS->dir_begin(Path, EC);
if (I != directory_iterator()) {
State = std::make_shared<detail::RecDirIterState>();
- State->Stack.push(I);
+ State->Stack.push_back(I);
}
}
vfs::recursive_directory_iterator &
recursive_directory_iterator::increment(std::error_code &EC) {
assert(FS && State && !State->Stack.empty() && "incrementing past end");
- assert(!State->Stack.top()->path().empty() && "non-canonical end iterator");
+ assert(!State->Stack.back()->path().empty() && "non-canonical end iterator");
vfs::directory_iterator End;
if (State->HasNoPushRequest)
State->HasNoPushRequest = false;
else {
- if (State->Stack.top()->type() == sys::fs::file_type::directory_file) {
- vfs::directory_iterator I = FS->dir_begin(State->Stack.top()->path(), EC);
+ if (State->Stack.back()->type() == sys::fs::file_type::directory_file) {
+ vfs::directory_iterator I =
+ FS->dir_begin(State->Stack.back()->path(), EC);
if (I != End) {
- State->Stack.push(I);
+ State->Stack.push_back(I);
return *this;
}
}
}
- while (!State->Stack.empty() && State->Stack.top().increment(EC) == End)
- State->Stack.pop();
+ while (!State->Stack.empty() && State->Stack.back().increment(EC) == End)
+ State->Stack.pop_back();
if (State->Stack.empty())
State.reset(); // end iterator