r274267 - in /branches/c++-coroutines: ChangeLo...
iains@gcc.gnu.org
iains@gcc.gnu.org
Sun Aug 11 12:56:00 GMT 2019
Author: iains
Date: Sun Aug 11 12:56:00 2019
New Revision: 274267
URL: https://gcc.gnu.org/viewcvs?rev=274267&root=gcc&view=rev
Log:
c++-coroutines - Initial handling for local objects with CTOR/DTOR.
After some experimentation with alternate representations at the
tree level, this implementation 'hides' the scope-exiting suspend
returns (as an internal function). This is preserved until the
EH/cleanup paths are expanded, at which point we replace with a
regular goto.
2019-08-11 Iain Sandoe <iain@sandoe.co.uk>
gcc/
* coroutine-passes.c (lower_coro_builtin): Lower IFN_CO_SUSPN.
* internal-fn.c (expand_CO_SUSPN): New.
* internal-fn.def (CO_SUSPN): New.
gcc/cp/ChangeLog:
* coroutines.cc (co_await_expander): Encode the scope exiting
return as an internal function.
Modified:
branches/c++-coroutines/ChangeLog.coroutines
branches/c++-coroutines/gcc/coroutine-passes.c
branches/c++-coroutines/gcc/cp/coroutines.cc
branches/c++-coroutines/gcc/internal-fn.c
branches/c++-coroutines/gcc/internal-fn.def
More information about the Gcc-cvs
mailing list