clayborg wrote:

So I am trying to lookup `std::ios_base` in my example for a real definitions, 
but I end up with thousands of forward declarations due to the DWARF snippet in 
my original summary string. 

So when I lookup `std::ios_base`, I found thousands of `DW_AT_declaration` 
entries for `std::ios_base` that I don't want to propagate beyond the DWARF 
index class handing out valid matches, so thus this patch. There _are_ entries 
in the name tables for `std::ios_base` that are declarations only and it would 
be great if these are not here, but someone is producing them somehow, I am not 
sure if this is clang or bolt.

The way I saw this was to enable DWARF logging in LLDB and if I did that I saw 
thousands of `ios_base` lookups that failed to produce real types and this was 
why I created this patch.

Thanks for the detailed explanations above everyone.

I would vote to get this in to reduce churn when doing type lookups, even if we 
do fix the compiler, linker, and or other tools to not produce them in the 
future, we still have such binaries floating around from past compilers, 
linkers and other tools. 

https://github.com/llvm/llvm-project/pull/91808
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to