[PATCH] D90990: [Coroutine][Sema] Cleanup temporaries as early as possible

Xun Li via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 10 08:21:03 PST 2020


lxfind added inline comments.


================
Comment at: clang/lib/Sema/SemaCoroutine.cpp:475
+  if (!AwaitSuspend)
+    return Calls;
   if (!AwaitSuspend->getType()->isDependentType()) {
----------------
bruno wrote:
> In case `AwaitSuspend` is null, is there any need to set `Calls.IsInvalid` as well?
Thanks for the catch.


================
Comment at: clang/lib/Sema/SemaCoroutine.cpp:490
+      // ExprWithCleanups is wrapped within maybeTailCall() prior to the resume
+      // call.
       Calls.Results[ACT::ACT_Suspend] = TailCallSuspend;
----------------
bruno wrote:
> Is there already a test covering this tailcall case? It'd be nice to have one 
Yes both of the symmetric-transfer tests are covering this case.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90990/new/

https://reviews.llvm.org/D90990



More information about the cfe-commits mailing list