From 39d2ec41509e3b0d130215a65d7aacbd064b5532 Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Fri, 15 Oct 2021 09:42:25 +0100 Subject: [PATCH] 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. --- gcc/testsuite/g++.dg/coroutines/pr96517.C | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 gcc/testsuite/g++.dg/coroutines/pr96517.C 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() {} -- 2.47.2