diff --git a/clang/lib/Sema/SemaCoroutine.cpp b/clang/lib/Sema/SemaCoroutine.cpp --- a/clang/lib/Sema/SemaCoroutine.cpp +++ b/clang/lib/Sema/SemaCoroutine.cpp @@ -398,8 +398,8 @@ diag::warn_coroutine_handle_address_invalid_return_type) << JustAddress->getType(); - return buildBuiltinCall(S, Loc, Builtin::BI__builtin_coro_resume, - JustAddress); + return S.MaybeCreateExprWithCleanups( + buildBuiltinCall(S, Loc, Builtin::BI__builtin_coro_resume, JustAddress)); } /// Build calls to await_ready, await_suspend, and await_resume for a co_await