Author: Felipe de Azevedo Piovezan Date: 2023-07-06T17:15:06-04:00 New Revision: 032de3ee0d3575557f999925fb2d78b9423f3f50
URL: https://github.com/llvm/llvm-project/commit/032de3ee0d3575557f999925fb2d78b9423f3f50 DIFF: https://github.com/llvm/llvm-project/commit/032de3ee0d3575557f999925fb2d78b9423f3f50.diff LOG: [lldb][DebugNamesDWARF] Also use mangled name when matching regex When LLDB queries the debug names index with a regex, we should use the `Mangled` class wrapper, which attempts to match regex first against the mangled name and then against the demangled name. It is important to do so, otherwise queries like `frame var --regex A::` would never work. This is what is done for the Apple index as well. This fixes test/API/lang/cpp/class_static/main.cpp when compiled with DWARF 5. Differential Revision: https://reviews.llvm.org/D154617 Added: Modified: lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp Removed: ################################################################################ diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp index 879d6ce4686a72..1711a229443672 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp @@ -104,7 +104,8 @@ void DebugNamesDWARFIndex::GetGlobalVariables( llvm::function_ref<bool(DWARFDIE die)> callback) { for (const DebugNames::NameIndex &ni: *m_debug_names_up) { for (DebugNames::NameTableEntry nte: ni) { - if (!regex.Execute(nte.getString())) + Mangled mangled_name(nte.getString()); + if (!mangled_name.NameMatches(regex)) continue; uint64_t entry_offset = nte.getEntryOffset(); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits