diff options
author | Nikita Popov <npopov@redhat.com> | 2024-06-21 11:19:11 +0200 |
---|---|---|
committer | Nikita Popov <npopov@redhat.com> | 2024-06-21 13:44:46 +0200 |
commit | f1075a34ab30f67915deb9a519dd98e025c5c998 (patch) | |
tree | f3367bb66c14637684a8dc9fa25ad8831f8cabd8 /llvm | |
parent | bc82793b304cff80605cf7ab14f51a7924d27481 (diff) | |
download | llvm-f1075a34ab30f67915deb9a519dd98e025c5c998.zip llvm-f1075a34ab30f67915deb9a519dd98e025c5c998.tar.gz llvm-f1075a34ab30f67915deb9a519dd98e025c5c998.tar.bz2 |
[FileSystem] Avoid <stack> include (NFC)
The standard pattern in LLVM is to directly use vectors for stacks,
without an additional std::stack wrapper to rename some methods.
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/Support/FileSystem.h | 30 | ||||
-rw-r--r-- | llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 1 | ||||
-rw-r--r-- | llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp | 1 |
3 files changed, 17 insertions, 15 deletions
diff --git a/llvm/include/llvm/Support/FileSystem.h b/llvm/include/llvm/Support/FileSystem.h index 0a9c576..9cf5336 100644 --- a/llvm/include/llvm/Support/FileSystem.h +++ b/llvm/include/llvm/Support/FileSystem.h @@ -40,7 +40,6 @@ #include <cstdint> #include <ctime> #include <memory> -#include <stack> #include <string> #include <system_error> #include <vector> @@ -1471,7 +1470,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; uint16_t Level = 0; bool HasNoPushRequest = false; }; @@ -1490,8 +1489,8 @@ public: bool follow_symlinks = true) : State(std::make_shared<detail::RecDirIterState>()), Follow(follow_symlinks) { - State->Stack.push(directory_iterator(path, ec, Follow)); - if (State->Stack.top() == directory_iterator()) + State->Stack.push_back(directory_iterator(path, ec, Follow)); + if (State->Stack.back() == directory_iterator()) State.reset(); } @@ -1502,27 +1501,28 @@ public: if (State->HasNoPushRequest) State->HasNoPushRequest = false; else { - file_type type = State->Stack.top()->type(); + file_type type = State->Stack.back()->type(); if (type == file_type::symlink_file && Follow) { // Resolve the symlink: is it a directory to recurse into? - ErrorOr<basic_file_status> status = State->Stack.top()->status(); + ErrorOr<basic_file_status> status = State->Stack.back()->status(); if (status) type = status->type(); // Otherwise broken symlink, and we'll continue. } if (type == file_type::directory_file) { - State->Stack.push(directory_iterator(*State->Stack.top(), ec, Follow)); - if (State->Stack.top() != end_itr) { + State->Stack.push_back( + directory_iterator(*State->Stack.back(), ec, Follow)); + if (State->Stack.back() != end_itr) { ++State->Level; return *this; } - State->Stack.pop(); + State->Stack.pop_back(); } } while (!State->Stack.empty() - && State->Stack.top().increment(ec) == end_itr) { - State->Stack.pop(); + && State->Stack.back().increment(ec) == end_itr) { + State->Stack.pop_back(); --State->Level; } @@ -1533,8 +1533,8 @@ public: return *this; } - 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(); } // observers /// Gets the current level. Starting path is at level 0. @@ -1554,10 +1554,10 @@ public: do { if (ec) report_fatal_error("Error incrementing directory iterator."); - State->Stack.pop(); + State->Stack.pop_back(); --State->Level; } while (!State->Stack.empty() - && State->Stack.top().increment(ec) == end_itr); + && State->Stack.back().increment(ec) == end_itr); // Check if we are done. If so, create an end iterator. if (State->Stack.empty()) diff --git a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp index bf0ca32..dbf7154 100644 --- a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp +++ b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp @@ -57,6 +57,7 @@ #include <cstdint> #include <optional> +#include <stack> #define DEBUG_TYPE "openmp-ir-builder" diff --git a/llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp b/llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp index 0d1d973..c1e5ab1 100644 --- a/llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp +++ b/llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp @@ -44,6 +44,7 @@ #include "llvm/Support/raw_ostream.h" #include "llvm/Transforms/IPO.h" #include "llvm/Transforms/Utils/Cloning.h" +#include <deque> #include <sstream> #include <unordered_map> #include <vector> |