[Bug c++/94760] coroutines: mismatch between traits and promise parameter preview.
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 28 02:24:15 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94760
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain D Sandoe <iains@gcc.gnu.org>:
https://gcc.gnu.org/g:f5edc76acac7bbadd8d1b00c4cc5994b2a088542
commit r10-8005-gf5edc76acac7bbadd8d1b00c4cc5994b2a088542
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Tue Apr 28 02:15:07 2020 +0100
coroutines: Pass class ref to traits lookup and promise allocator
[PR94760].
We changed the argument passed to the promise parameter preview
to match a reference to *this. However to be consistent with the
other ports, we do need to match the reference transformation in
the traits lookup and the promise allocator lookup.
gcc/cp/ChangeLog:
2020-04-28 Iain Sandoe <iain@sandoe.co.uk>
PR c++/94760
* coroutines.cc (instantiate_coro_traits): Pass a reference to
object type rather than a pointer type for 'this', for method
coroutines.
(struct param_info): Add a field to hold that the parm is a lambda
closure pointer.
(morph_fn_to_coro): Check for lambda closure pointers in the
args. Use a reference to *this when building the args list for the
promise allocator lookup.
gcc/testsuite/ChangeLog:
2020-04-28 Iain Sandoe <iain@sandoe.co.uk>
PR c++/94760
* g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C:
New test.
More information about the Gcc-bugs
mailing list