0
0
mirror of https://github.com/llvm/llvm-project.git synced 2025-04-21 10:36:49 +00:00

[VFS] Avoid <stack> include (NFC)

Directly use a vector instead of wrapping it in a stack, like we
do in most places.
This commit is contained in:
Nikita Popov 2024-06-21 14:59:05 +02:00
parent df86fb069e
commit 48ef912e2b
12 changed files with 21 additions and 11 deletions
clang-tools-extra
clang
lib
unittests/Support
lldb/include/lldb/Target
llvm
include/llvm/Support
lib
ProfileData/Coverage
Support
Transforms/Instrumentation

@ -9,6 +9,7 @@
#include "RedundantStrcatCallsCheck.h"
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include <deque>
using namespace clang::ast_matchers;

@ -12,6 +12,7 @@
#include "clang/Lex/MacroArgs.h"
#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/Preprocessor.h"
#include <stack>
namespace clang::tidy::bugprone {

@ -30,6 +30,7 @@
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <deque>
#include <mutex>
#include <optional>
#include <string>

@ -45,6 +45,7 @@
#include "clang/AST/PrettyPrinter.h"
#include "clang/Tooling/Syntax/Tokens.h"
#include "llvm/ADT/SmallVector.h"
#include <stack>
namespace clang {
namespace clangd {

@ -18,6 +18,7 @@
#include "clang/Sema/SemaInternal.h"
#include "clang/Sema/SemaObjC.h"
#include "clang/Sema/SemaSwift.h"
#include <stack>
using namespace clang;

@ -59,6 +59,7 @@
#include <deque>
#include <memory>
#include <optional>
#include <stack>
#include <string>
#include <utility>

@ -12,6 +12,7 @@
#include "llvm/Support/JSON.h"
#include "llvm/Support/TimeProfiler.h"
#include <stack>
#include "gtest/gtest.h"

@ -17,6 +17,7 @@
#include "lldb/lldb-private-forward.h"
#include "lldb/lldb-public.h"
#include <deque>
#include <optional>
#include <vector>

@ -31,7 +31,6 @@
#include <ctime>
#include <memory>
#include <optional>
#include <stack>
#include <string>
#include <system_error>
#include <utility>
@ -219,7 +218,7 @@ namespace detail {
/// Keeps state for the recursive_directory_iterator.
struct RecDirIterState {
std::stack<directory_iterator, std::vector<directory_iterator>> Stack;
std::vector<directory_iterator> Stack;
bool HasNoPushRequest = false;
};
@ -242,8 +241,8 @@ public:
/// Equivalent to operator++, with an error code.
recursive_directory_iterator &increment(std::error_code &EC);
const directory_entry &operator*() const { return *State->Stack.top(); }
const directory_entry *operator->() const { return &*State->Stack.top(); }
const directory_entry &operator*() const { return *State->Stack.back(); }
const directory_entry *operator->() const { return &*State->Stack.back(); }
bool operator==(const recursive_directory_iterator &Other) const {
return State == Other.State; // identity

@ -37,6 +37,7 @@
#include <map>
#include <memory>
#include <optional>
#include <stack>
#include <string>
#include <system_error>
#include <utility>

@ -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

@ -120,6 +120,7 @@
#include <memory>
#include <numeric>
#include <optional>
#include <stack>
#include <string>
#include <unordered_map>
#include <utility>