================ @@ -0,0 +1,59 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -std=c++20 \ +// RUN: -disable-llvm-passes -emit-llvm %s -o - | FileCheck %s + +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -std=c++20 \ +// RUN: -O3 -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK-O + +#include "Inputs/coroutine.h" + +using namespace std; + +struct A; +struct A_promise_type { + A get_return_object(); + suspend_always initial_suspend(); + suspend_always final_suspend() noexcept; + void return_value(int); + void unhandled_exception(); + + std::coroutine_handle<> handle; +}; + +struct Awaitable{ + bool await_ready(); + int await_resume(); + template <typename F> + void await_suspend(F); +}; +Awaitable something(); + +struct dtor { + dtor(); + ~dtor(); +}; + +struct [[clang::coro_only_destroy_when_complete]] A { ---------------- apolloww wrote:
Thanks for the explaination https://github.com/llvm/llvm-project/pull/71014 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits