================ @@ -2232,6 +2232,11 @@ bool DWARFASTParserClang::CompleteRecordType(const DWARFDIE &die, // For objective C we don't start the definition when the class is // created. TypeSystemClang::StartTagDeclarationDefinition(clang_type); + } else if (!clang_type.IsBeingDefined()) { + // In case of some weired DWARF causing we don't start definition on this + // definition DIE because we failed to find existing clang_type from + // UniqueDWARFASTTypeMap due to overstrict checking. + TypeSystemClang::StartTagDeclarationDefinition(clang_type); ---------------- Michael137 wrote:
Hmmm in the crashing test case the DWARF itself seems reasonable right? So the comment is a bit misleading. I like the idea of doing both `TypeSystemClang::StartTagDeclarationDefinition` *and* `TypeSystemClang::CompleteTagDeclarationDefinition` in `CompleteRecordType` (in fact that's what we're trying to do in https://discourse.llvm.org/t/rfc-lldb-more-reliable-completion-of-record-types/77442#changes-5), but I'd like to understand how we get here after https://github.com/llvm/llvm-project/pull/92328 but not prior. Let me re-read your comment https://github.com/llvm/llvm-project/pull/93839 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits