================
@@ -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

Reply via email to