Author: Nikita Popov
Date: 2024-06-21T15:17:41+02:00
New Revision: 48ef912e2b32798b704af242e551a7090102c750

URL: 
https://github.com/llvm/llvm-project/commit/48ef912e2b32798b704af242e551a7090102c750
DIFF: 
https://github.com/llvm/llvm-project/commit/48ef912e2b32798b704af242e551a7090102c750.diff

LOG: [VFS] Avoid <stack> include (NFC)

Directly use a vector instead of wrapping it in a stack, like we
do in most places.

Added: 
    

Modified: 
    clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
    clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    clang-tools-extra/clangd/Selection.h
    clang/lib/Sema/SemaAPINotes.cpp
    clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    clang/unittests/Support/TimeProfilerTest.cpp
    lldb/include/lldb/Target/StackFrameRecognizer.h
    llvm/include/llvm/Support/VirtualFileSystem.h
    llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    llvm/lib/Support/VirtualFileSystem.cpp
    llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp 
b/clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
index fafb029e7de1b..04ca006143503 100644
--- a/clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
@@ -9,6 +9,7 @@
 #include "RedundantStrcatCallsCheck.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"
+#include <deque>
 
 using namespace clang::ast_matchers;
 

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
index a64c9b2905ca1..01276af6c7d8f 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
@@ -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 {
 

diff  --git a/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp 
b/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
index 5bec7966a9c3a..85c80eb482efb 100644
--- a/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
+++ b/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
@@ -30,6 +30,7 @@
 #include <atomic>
 #include <chrono>
 #include <condition_variable>
+#include <deque>
 #include <mutex>
 #include <optional>
 #include <string>

diff  --git a/clang-tools-extra/clangd/Selection.h 
b/clang-tools-extra/clangd/Selection.h
index f80ee83c4b94c..cb40c6d403487 100644
--- a/clang-tools-extra/clangd/Selection.h
+++ b/clang-tools-extra/clangd/Selection.h
@@ -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 {

diff  --git a/clang/lib/Sema/SemaAPINotes.cpp b/clang/lib/Sema/SemaAPINotes.cpp
index bc1628f5b7163..d535cb35cfbc8 100644
--- a/clang/lib/Sema/SemaAPINotes.cpp
+++ b/clang/lib/Sema/SemaAPINotes.cpp
@@ -18,6 +18,7 @@
 #include "clang/Sema/SemaInternal.h"
 #include "clang/Sema/SemaObjC.h"
 #include "clang/Sema/SemaSwift.h"
+#include <stack>
 
 using namespace clang;
 

diff  --git a/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp 
b/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
index 487a3bd16b674..4ff4f7de425ca 100644
--- a/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
+++ b/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
@@ -59,6 +59,7 @@
 #include <deque>
 #include <memory>
 #include <optional>
+#include <stack>
 #include <string>
 #include <utility>
 

diff  --git a/clang/unittests/Support/TimeProfilerTest.cpp 
b/clang/unittests/Support/TimeProfilerTest.cpp
index 97fdbb7232b13..5f3950ff033f1 100644
--- a/clang/unittests/Support/TimeProfilerTest.cpp
+++ b/clang/unittests/Support/TimeProfilerTest.cpp
@@ -12,6 +12,7 @@
 
 #include "llvm/Support/JSON.h"
 #include "llvm/Support/TimeProfiler.h"
+#include <stack>
 
 #include "gtest/gtest.h"
 

diff  --git a/lldb/include/lldb/Target/StackFrameRecognizer.h 
b/lldb/include/lldb/Target/StackFrameRecognizer.h
index 5e8e12b2a4e96..e9ac2750192ef 100644
--- a/lldb/include/lldb/Target/StackFrameRecognizer.h
+++ b/lldb/include/lldb/Target/StackFrameRecognizer.h
@@ -17,6 +17,7 @@
 #include "lldb/lldb-private-forward.h"
 #include "lldb/lldb-public.h"
 
+#include <deque>
 #include <optional>
 #include <vector>
 

diff  --git a/llvm/include/llvm/Support/VirtualFileSystem.h 
b/llvm/include/llvm/Support/VirtualFileSystem.h
index a1e38de74dfcc..f7cfcd4058e72 100644
--- a/llvm/include/llvm/Support/VirtualFileSystem.h
+++ b/llvm/include/llvm/Support/VirtualFileSystem.h
@@ -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 @@ class recursive_directory_iterator {
   /// 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

diff  --git a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp 
b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
index e2b0dd3ebcb33..21ce0ac17d618 100644
--- a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
+++ b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
@@ -37,6 +37,7 @@
 #include <map>
 #include <memory>
 #include <optional>
+#include <stack>
 #include <string>
 #include <system_error>
 #include <utility>

diff  --git a/llvm/lib/Support/VirtualFileSystem.cpp 
b/llvm/lib/Support/VirtualFileSystem.cpp
index f9c15bf7809eb..ce2bf2b4193a5 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

diff  --git a/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp 
b/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
index ac6d3348b3db9..572d37a2b3e55 100644
--- a/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
+++ b/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
@@ -120,6 +120,7 @@
 #include <memory>
 #include <numeric>
 #include <optional>
+#include <stack>
 #include <string>
 #include <unordered_map>
 #include <utility>


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to