Michael137 wrote:

> But if it'd require substantial reengineering to clang to get this working - 
> this seems an unfortunate regression to carry in the interim, and it might be 
> worth reverting to the previous (differently buggy, but at least 
> work-around-able) behavior.

To clarify, the regression @dwblaikie reported in 
https://github.com/llvm/llvm-project/issues/79668 was introduced in 
https://github.com/llvm/llvm-project/pull/74786, not in this current PR. IIUC, 
this PR just *partially* fixed 
https://github.com/llvm/llvm-project/issues/53904?

> The new flow could be:
> 
> * any struct/class gets created as a forward declaration and has the external 
> AST source enabled
> * the external AST calls to complete the type when needed by expression 
> parser or LLDB APIs
> * we complete the type
> * we leave the external AST enabled so we can get called for contained types
> 
> The last item here would require modifications to clang which could be 
> debugger specific changes that are only enabled in a special debug compiler 
> mode so they don't affect the actual compiler. Thoughts?

Following overview of the clang<->lldb call-chain might be useful: 
https://github.com/llvm/llvm-project/issues/53904#issuecomment-1877114034. Not 
sure I fully understand the "we leave the external AST enabled so we can get 
called for contained types" idea. Happy to chat about how to make this work 
though

https://github.com/llvm/llvm-project/pull/77029
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to