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
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to