coroutines: Update handling and failure for g-r-o-o-a-f [PR95505]
authorIain Sandoe <iain@sandoe.co.uk>
Sat, 20 Jun 2020 13:01:21 +0000 (14:01 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Sat, 20 Jun 2020 15:12:32 +0000 (16:12 +0100)
commit445d8da5fbd10e32f8ea470bd9ac02faba8fd718
tree9734fac4bb1b2cfac7648efd5ef69241a9d66ddd
parent57b4daf8dc4ed7b669cc70638866ddb00f5b7746
coroutines: Update handling and failure for g-r-o-o-a-f [PR95505]

The actual issue is that (in the testcase) std::nothrow is not
available.  So update the handling of the get-return-on-alloc-fail
to include the possibility that std::nothrow might not be
available.

gcc/cp/ChangeLog:

PR c++/95505
* coroutines.cc (morph_fn_to_coro): Update handling of
get-return-object-on-allocation-fail and diagnose missing
std::nothrow.

gcc/testsuite/ChangeLog:

PR c++/95505
* g++.dg/coroutines/pr95505.C: New test.
gcc/cp/coroutines.cc
gcc/testsuite/g++.dg/coroutines/pr95505.C [new file with mode: 0644]