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

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Sun Nov 16 16:47:14 PST 2025


================
@@ -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 &&
----------------
JDevlieghere wrote:

Since `symbol_type` is constant, if `symbol_type == eSymbolTypeAny`, can't we just skip the whole loop/erase_if? 

https://github.com/llvm/llvm-project/pull/168279


More information about the lldb-commits mailing list