[clang] [lldb] [ASTImporter][lldb] Avoid implicit imports in VisitFieldDecl (PR #107828)

Michael Buch via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 19 05:39:07 PDT 2024


Michael137 wrote:

> > Our idea is summarized in https://discourse.llvm.org/t/rfc-lldb-more-reliable-completion-of-record-types/77442. Basically the goal is to guarantee that a call to `getDefinition`, _will_ fetch the definition. This is something that Clang already does, but we just never implement (via `CompleteRedeclChain`). You're right that the "minimal import" mode was implemented for perf. reasons. Though we should probably revisit this. I think we can make LLDB use non-minimal import for record types while keeping the number of transitive imports contained. It would still require changes to the importer to be smarter about what we import, but we wouldn't have these "complete but incomplete" types floating around.
> 
> Thanks a lot Michael. It's a lot of work to get the redesign ready, considering both functional and performance requirements.
> 
> In the meantime, should we merge this patch to fix at least some current problems?

Apologies, got a bit side-tracked this week. I'm slowly extracting a test-case out of the crash I was looking at. I'd be more comfortable making changes to the ASTImporter once we're sure there isn't a way of fixing this on the LLDB side. Hopefully I'll be able to provide some updates on this next week.

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


More information about the cfe-commits mailing list