labath wrote: > LGTM, thanks! > > So the actual problem is that the ASTImporter will only copy over the > definition to the destination decl if the source decl `isCompleteDefinition`. > So then when we tried to add the typedef decl to the `CXXRecordDecl` that the > ASTImporter created for `A`, it would try to query its definition which > didn't get copied over (cause we only ever started the definition for `A`, > but nothing completed it, especially since it had no external storage), and > hence we assert.
No, the problem was that `A` was stuck in this half-complete state, where we've begun -- but not finished -- it's definition, and it also didn't have an external ast source which could complete it (because we've already tried completing it, and CompleteTypeFromDWARF has cleared the "external" flag). AFAICT, the ast importer is just not prepared to handle this situation. The crash happened when it tried to query some property (probably to copy it over) of the source Decl, and this crashed because the decl didn't have the DefinitionData field set up. https://github.com/llvm/llvm-project/pull/102116 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits