[Lldb-commits] [PATCH] D73191: Only match mangled name in full-name function lookup (with accelerators)
Raphael Isemann via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 4 04:16:20 PDT 2021
teemperor added inline comments.
================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp:43
+ // In case of a full match, we insert functions with a matching mangled name.
+ if (name_type_mask & eFunctionNameTypeFull && die.GetMangledName() == name) {
dies.push_back(die);
----------------
FWIW, I believe neither the old nor the new version of this check are fully correct (but this version is at least much closer to the intended functionality).
`eFunctionNameTypeFull` is documented as:
```
///< For C this is the same as just the name of the function For C++ this is
///< the mangled or demangled version of the mangled name. For ObjC this is
///< the full function signature with the + or - and the square brackets and
///< the class and selector
```
The C++ mangled name case is clearly covered. The C and Obj-C are covered because of the (rather interesting...) property for GetMangledName to return the DW_AT_NAME (which is the demangled name for C/Obj-C) when the mangled name is not specified in DWARF. But the demangled C++ name case isn't covered unless I'm missing something.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D73191/new/
https://reviews.llvm.org/D73191
More information about the lldb-commits
mailing list