[Lldb-commits] [lldb] [lldb][NFC] use llvm::erase_if to remove non matching types (PR #168279)

Ebuka Ezike via lldb-commits lldb-commits at lists.llvm.org
Sun Nov 16 10:20:38 PST 2025


https://github.com/da-viper created https://github.com/llvm/llvm-project/pull/168279

None

>From 30777182be60ea93c0e97ac976c957c00c0805df Mon Sep 17 00:00:00 2001
From: Ebuka Ezike <yerimyah1 at gmail.com>
Date: Sun, 16 Nov 2025 17:29:47 +0000
Subject: [PATCH] [lldb][NFC] use llvm::erase_if to remove non matching types

---
 lldb/source/Symbol/Symtab.cpp | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/lldb/source/Symbol/Symtab.cpp b/lldb/source/Symbol/Symtab.cpp
index 6080703998ff2..f13257147d190 100644
--- a/lldb/source/Symbol/Symtab.cpp
+++ b/lldb/source/Symbol/Symtab.cpp
@@ -723,14 +723,10 @@ Symtab::AppendSymbolIndexesWithNameAndType(ConstString symbol_name,
   std::lock_guard<std::recursive_mutex> guard(m_mutex);
 
   if (AppendSymbolIndexesWithName(symbol_name, indexes) > 0) {
-    std::vector<uint32_t>::iterator pos = indexes.begin();
-    while (pos != indexes.end()) {
-      if (symbol_type == eSymbolTypeAny ||
-          m_symbols[*pos].GetType() == symbol_type)
-        ++pos;
-      else
-        pos = indexes.erase(pos);
-    }
+    llvm::erase_if(indexes, [this, symbol_type](uint32_t index) {
+      return symbol_type != eSymbolTypeAny &&
+             m_symbols[index].GetType() != symbol_type;
+    });
   }
   return indexes.size();
 }
@@ -743,14 +739,10 @@ uint32_t Symtab::AppendSymbolIndexesWithNameAndType(
 
   if (AppendSymbolIndexesWithName(symbol_name, symbol_debug_type,
                                   symbol_visibility, indexes) > 0) {
-    std::vector<uint32_t>::iterator pos = indexes.begin();
-    while (pos != indexes.end()) {
-      if (symbol_type == eSymbolTypeAny ||
-          m_symbols[*pos].GetType() == symbol_type)
-        ++pos;
-      else
-        pos = indexes.erase(pos);
-    }
+    llvm::erase_if(indexes, [this, symbol_type](uint32_t index) {
+      return symbol_type != eSymbolTypeAny &&
+             m_symbols[index].GetType() != symbol_type;
+    });
   }
   return indexes.size();
 }



More information about the lldb-commits mailing list