================
@@ -8119,6 +8119,35 @@ but do not pass them to the underlying coroutine or pass 
them by value.
 }];
 }
 
+def CoroAwaitElidableDoc : Documentation {
+  let Category = DocCatDecl;
+  let Content = [{
+The ``[[clang::coro_await_elidable]]`` is a class attribute which can be 
applied
+to a coroutine return type.
+
+When a coroutine function that returns such a type calls another coroutine 
function,
+the compiler performs heap allocation elision when the call to the coroutine 
function
+is immediately co_awaited as a prvalue.
----------------
ChuanqiXu9 wrote:

What I am concerning is, actually we don't care if it is prvalue or not at all. 
What we really want is to find the CallInst. The prvalue catagory doesn't be 
involved in the design. It is just, the idea of `prvalue` can help us to 
implement this. So I think the concept of prvalue is better to be an 
implementation details but not the interface.

And on the other hand, in my mind, this should be meant to be related with 
parsers. So I am fine with that.

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

Reply via email to