diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2020-04-28 02:15:07 +0100 |
---|---|---|
committer | Iain Sandoe <iain@sandoe.co.uk> | 2020-04-28 02:16:34 +0100 |
commit | f5edc76acac7bbadd8d1b00c4cc5994b2a088542 (patch) | |
tree | 4eef2f6a4876fa7ba9a50138918e58e69d295212 /gcc/tree.c | |
parent | b9c91b7f3279e23aed965c05197acf3b6f439f8d (diff) | |
download | gcc-f5edc76acac7bbadd8d1b00c4cc5994b2a088542.zip gcc-f5edc76acac7bbadd8d1b00c4cc5994b2a088542.tar.gz gcc-f5edc76acac7bbadd8d1b00c4cc5994b2a088542.tar.bz2 |
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.
Diffstat (limited to 'gcc/tree.c')
0 files changed, 0 insertions, 0 deletions