clayborg added inline comments.
================
Comment at: source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp:928-929
Mangled mangled(ConstString(mangled_cstr), true);
+ func_basenames.Insert(mangled.GetMangledName(),
+ DIERef(cu_offset, die.GetOffset()));
func_fullnames.Insert(mangled.GetMangledName(),
----------------
labath wrote:
> clayborg wrote:
> > Why are we adding the mangled name to the basenames?
> It was the simplest way to ensure we get the same results for apple and
> !apple cases. With apple tables we will return a result if someone asks for a
> function with a "base name" `_Z3foov`. I am not sure if this was intended or
> just an accident. Alternatively, I could keep these names in a separate index
> and then search in both when I get a query. Or, if this is really not
> intended to work, I can adding extra filtering to the "apple" path to return
> only "real" basenames. (My goal here is to eliminate platform differences to
> avoid things behaving differently across platforms.)
I would search "func_fullnames" and "func_basenames" separately and avoid
adding the extra mangled name to func_basenames.
The _Z3foov seems like an accident. It definitely shouldn't be a basename
unless the DWARF put that into the DW_AT_name field for some reason.
https://reviews.llvm.org/D46576
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits