From: Iain Sandoe Date: Fri, 15 Oct 2021 08:42:25 +0000 (+0100) Subject: coroutines, c++: Add test for PR 96517. X-Git-Tag: basepoints/gcc-13~2269 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39d2ec41509e3b0d130215a65d7aacbd064b5532;p=thirdparty%2Fgcc.git coroutines, c++: Add test for PR 96517. This PR was fixed by r12-5255-gdaa9c6b015, this adds the testcase. Signed-off-by: Iain Sandoe gcc/testsuite/ChangeLog: PR c++/96517 * g++.dg/coroutines/pr96517.C: New test. --- diff --git a/gcc/testsuite/g++.dg/coroutines/pr96517.C b/gcc/testsuite/g++.dg/coroutines/pr96517.C new file mode 100644 index 000000000000..9cbac3ebc0dd --- /dev/null +++ b/gcc/testsuite/g++.dg/coroutines/pr96517.C @@ -0,0 +1,29 @@ +// { dg-additional-options " -O1 " } +#include + +struct coroutine { + struct promise_type { + coroutine get_return_object() { return {}; } + void return_void() {} + void unhandled_exception() {} + auto initial_suspend() noexcept { return std::suspend_never{}; } + auto final_suspend() noexcept { return std::suspend_never{}; } + }; +}; + +struct data { + constexpr int get() { return 5; } +}; + +struct test { + data _data; + + void foo() { + [this]() -> coroutine { + _data.get(); + co_return; + }; + } +}; + +int main() {}