[Lldb-commits] [lldb] [lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (PR #90663)

Zequan Wu via lldb-commits lldb-commits at lists.llvm.org
Fri May 10 12:43:25 PDT 2024


ZequanWu wrote:

> So this DIE is just a declaration. Shouldn't this code have tried to find a non declaration DIE for "std::ios_base"?

Yes, I suppose `SymbolFileDWARF::CompleteType` will try to find the definition DIE for it before calling `DWARFASTParserClang::CompleteTypeFromDWARF`. If the definition DIE is not found, it's expected to do an early exit because Type is nullptr: https://github.com/llvm/llvm-project/blob/d8e73752a5f4f79ef4293d8f446c03062010233d/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp#L1643-L1644. If found, we should have the definition DIE in the GetForwardDeclCompilerTypeToDIE map: https://github.com/llvm/llvm-project/blob/d8e73752a5f4f79ef4293d8f446c03062010233d/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp#L1646-L1651

Can you confirm that there exists a definition DIE for it? How does it look like?

https://github.com/llvm/llvm-project/pull/90663


More information about the lldb-commits mailing list