aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2021-01-06 19:40:45 +0000
committerIain Sandoe <iain@sandoe.co.uk>2021-01-06 19:58:10 +0000
commit334a295fafdf5e66c4c976874282aea959830eb6 (patch)
tree32525034f548abb9819846c49a09e77632166a9e /gcc
parent8b6f1e8f97fe0d435d334075821149dbd85c8266 (diff)
downloadgcc-334a295fafdf5e66c4c976874282aea959830eb6.zip
gcc-334a295fafdf5e66c4c976874282aea959830eb6.tar.gz
gcc-334a295fafdf5e66c4c976874282aea959830eb6.tar.bz2
testsuite, coroutines : Fix a bad testcase [PR96504].
Where possible (i.e. where that doesn't alter the intent of a test) we use a suspend_always as the final suspend and a test that the coroutine was 'done' to check that the state machine had terminated correctly. Sometimes, filed PRs have 'suspend_never' as the final suspend expression and that needs to be changed to match the testsuite style. This is one I missed and means that the call to 'done()' on the handle is made to an already-destructed coroutine. Surprisngly, thAt didn't actually trigger a failure until glibc 2-32. Fixed by changing the final suspend to be 'suspend_always'. gcc/testsuite/ChangeLog: PR c++/96504 * g++.dg/coroutines/torture/pr95519-05-gro.C: Use suspend_always as the final suspend point so that we can check that the state machine has reached the expected point.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C
index fbbce97..2e72183 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C
@@ -5,7 +5,7 @@
struct pt_b
{
std::suspend_always initial_suspend() const noexcept { return {}; }
- std::suspend_never final_suspend() const noexcept { return {}; }
+ std::suspend_always final_suspend() const noexcept { return {}; }
constexpr void return_void () noexcept {};
constexpr void unhandled_exception() const noexcept {}
};