r273972 - in /branches/c++-coroutines: ChangeLo...
iains@gcc.gnu.org
iains@gcc.gnu.org
Thu Aug 1 11:58:00 GMT 2019
Author: iains
Date: Thu Aug 1 11:58:12 2019
New Revision: 273972
URL: https://gcc.gnu.org/viewcvs?rev=273972&root=gcc&view=rev
Log:
c++-coroutines - Handle alternate await_suspend return types.
Avoid creating a frame slot for a potential returned coroutine handle if the
await_suspend method is void or boolean. Cache the return type for later use.
2019-08-01 Iain Sandoe <iain@sandoe.co.uk>
gcc/cp/
* coroutines.cc (struct suspend_point_info): Add space for the
await_suspend method type. Rename the handle field.
(transform_await_expr): Rename the handle field.
(register_await_info): Cache the suspend method return type.
(get_await_suspend_return_type): New.
(register_awaits): Handle caching the await_suspend return type.
(morph_fn_to_coro): Ensure that we have the right suspend types
for initial and final suspends.
Modified:
branches/c++-coroutines/ChangeLog.coroutines
branches/c++-coroutines/gcc/cp/coroutines.cc
More information about the Gcc-cvs
mailing list