zwuis wrote:

> Would you like to give a brief introduction for your design. I didn't figure 
> it out.

- The function signature of `__builtin_lambda_this()` is `void*()`.
- Sema part: if it is a non-staic lambda expression (similar with this PR), 
create an expression `static_cast<T>(__builtin_lambda_this())` instead of 
`CXXThisExpr`, where `T` is `MD->getThisType()`.
- Codegen part: handling `__builtin_lambda_this()` is similar with handling 
`CXXThisExpr` except that it uses `CXXABIThisValue` instead of `CXXThisValue`.

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

Reply via email to