r272827 - in /branches/c++-coroutines: ChangeLo...
iains@gcc.gnu.org
iains@gcc.gnu.org
Sat Jun 29 15:41:00 GMT 2019
Author: iains
Date: Sat Jun 29 15:41:15 2019
New Revision: 272827
URL: https://gcc.gnu.org/viewcvs?rev=272827&root=gcc&view=rev
Log:
c++-coroutines - Handle 'noexcept' exception wrappers.
"noexcept" actually prepends some EH information to the function body, and
therefore does not behave as if "-fno-exceptions" had been specified.
We are now going to detect and apply the 'noexcept' to the ramp function (it
remains to check what ought to be done with the resume and destroy functions).
This means that we no longer ICE for "noexcept" + "-fexceptions" and therefore
we can drop the "-fno-exceptions" from the testsuite drivers.
2019-06-29 Iain Sandoe <iain@sandoe.co.uk>
gcc/cp/
* coroutines.cc (morph_fn_to_coro): If the body is empty or an error
mark, then we can't determine any more so punt. If the body is marked
noexcept, remember this and pass on to the ramp. Some small comment
changes are included.
* decl.c (finish_function): Handle exception blocks from the ramp.
gcc/testsuite/
* g++.dg/coroutines/coroutines.exp:
* g++.dg/coroutines/torture/coro-torture.exp:
Modified:
branches/c++-coroutines/ChangeLog.coroutines
branches/c++-coroutines/gcc/cp/coroutines.cc
branches/c++-coroutines/gcc/cp/decl.c
branches/c++-coroutines/gcc/testsuite/g++.dg/coroutines/coroutines.exp
branches/c++-coroutines/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp
More information about the Gcc-cvs
mailing list