testsuite, coroutines : Make final_suspend calls noexcept.
authorIain Sandoe <iain@sandoe.co.uk>
Mon, 15 Feb 2021 16:56:52 +0000 (16:56 +0000)
committerIain Sandoe <iain@sandoe.co.uk>
Wed, 24 Feb 2021 19:23:45 +0000 (19:23 +0000)
commit9a4eb720b343324f7f8fd2dceed5d0347e5a0153
tree23d2041a64b67fbbb72faa4fce731b27aacf761b
parent9d2a69106beb346be1c511a9c1a61a256b697868
testsuite, coroutines : Make final_suspend calls noexcept.

The wording of [dcl.fct.def.coroutine]/15 states:
The expression co_await promise.final_suspend() shall not be
potentially-throwing.  A fair number of testcases are not correctly
marked. Fixed here.

gcc/testsuite/ChangeLog:

* g++.dg/coroutines/co-await-void_type.C: Mark promise
final_suspend call as noexcept.
* g++.dg/coroutines/co-return-syntax-08-bad-return.C: Likewise.
* g++.dg/coroutines/co-return-syntax-10-movable.C: Likewise.
* g++.dg/coroutines/co-return-warning-1.C: Likewise.
* g++.dg/coroutines/co-yield-syntax-08-needs-expr.C: Likewise.
* g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: Likewise.
* g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: Likewise.
* g++.dg/coroutines/coro-missing-gro.C: Likewise.
* g++.dg/coroutines/coro-missing-promise-yield.C: Likewise.
* g++.dg/coroutines/coro-missing-ret-value.C: Likewise.
* g++.dg/coroutines/coro-missing-ret-void.C: Likewise.
* g++.dg/coroutines/coro-missing-ueh.h: Likewise.
* g++.dg/coroutines/coro1-allocators.h: Likewise.
* g++.dg/coroutines/coro1-refs-and-ctors.h: Likewise.
* g++.dg/coroutines/coro1-ret-int-yield-int.h: Likewise.
* g++.dg/coroutines/pr94682-preview-this.C: Likewise.
* g++.dg/coroutines/pr94752.C: Likewise.
* g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C: Likewise.
* g++.dg/coroutines/pr94879-folly-1.C: Likewise.
* g++.dg/coroutines/pr94883-folly-2.C: Likewise.
* g++.dg/coroutines/pr95050.C: Likewise.
* g++.dg/coroutines/pr95345.C: Likewise.
* g++.dg/coroutines/pr95440.C: Likewise.
* g++.dg/coroutines/pr95591.C: Likewise.
* g++.dg/coroutines/pr95711.C: Likewise.
* g++.dg/coroutines/pr95813.C: Likewise.
* g++.dg/coroutines/symmetric-transfer-00-basic.C: Likewise.
* g++.dg/coroutines/torture/co-await-07-tmpl.C: Likewise.
* g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: Likewise.
* g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: Likewise.
* g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: Likewise.
* g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: Likewise.
* g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: Likewise.
* g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: Likewise.
* g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: Likewise.
* g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: Likewise.
* g++.dg/coroutines/torture/co-ret-15-default-return_void.C: Likewise.
* g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: Likewise.
* g++.dg/coroutines/torture/co-yield-00-triv.C: Likewise.
* g++.dg/coroutines/torture/co-yield-03-tmpl.C: Likewise.
* g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: Likewise.
* g++.dg/coroutines/torture/exceptions-test-0.C: Likewise.
* g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: Likewise.
* g++.dg/coroutines/torture/func-params-04.C: Likewise.
* g++.dg/coroutines/torture/local-var-06-structured-binding.C: Likewise.
* g++.dg/coroutines/torture/mid-suspend-destruction-0.C: Likewise.
46 files changed:
gcc/testsuite/g++.dg/coroutines/co-await-void_type.C
gcc/testsuite/g++.dg/coroutines/co-return-syntax-08-bad-return.C
gcc/testsuite/g++.dg/coroutines/co-return-syntax-10-movable.C
gcc/testsuite/g++.dg/coroutines/co-return-warning-1.C
gcc/testsuite/g++.dg/coroutines/co-yield-syntax-08-needs-expr.C
gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C
gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C
gcc/testsuite/g++.dg/coroutines/coro-missing-gro.C
gcc/testsuite/g++.dg/coroutines/coro-missing-promise-yield.C
gcc/testsuite/g++.dg/coroutines/coro-missing-ret-value.C
gcc/testsuite/g++.dg/coroutines/coro-missing-ret-void.C
gcc/testsuite/g++.dg/coroutines/coro-missing-ueh.h
gcc/testsuite/g++.dg/coroutines/coro1-allocators.h
gcc/testsuite/g++.dg/coroutines/coro1-refs-and-ctors.h
gcc/testsuite/g++.dg/coroutines/coro1-ret-int-yield-int.h
gcc/testsuite/g++.dg/coroutines/pr94682-preview-this.C
gcc/testsuite/g++.dg/coroutines/pr94752.C
gcc/testsuite/g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C
gcc/testsuite/g++.dg/coroutines/pr94879-folly-1.C
gcc/testsuite/g++.dg/coroutines/pr94883-folly-2.C
gcc/testsuite/g++.dg/coroutines/pr95050.C
gcc/testsuite/g++.dg/coroutines/pr95345.C
gcc/testsuite/g++.dg/coroutines/pr95440.C
gcc/testsuite/g++.dg/coroutines/pr95591.C
gcc/testsuite/g++.dg/coroutines/pr95711.C
gcc/testsuite/g++.dg/coroutines/pr95813.C
gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C
gcc/testsuite/g++.dg/coroutines/torture/co-await-07-tmpl.C
gcc/testsuite/g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-15-default-return_void.C
gcc/testsuite/g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C
gcc/testsuite/g++.dg/coroutines/torture/co-yield-00-triv.C
gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl.C
gcc/testsuite/g++.dg/coroutines/torture/co-yield-04-complex-local-state.C
gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-0.C
gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C
gcc/testsuite/g++.dg/coroutines/torture/func-params-04.C
gcc/testsuite/g++.dg/coroutines/torture/local-var-06-structured-binding.C
gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C