coroutines: Handle lambda closure pointers like 'this'.
authorIain Sandoe <iain@sandoe.co.uk>
Thu, 11 Jun 2020 16:01:57 +0000 (17:01 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Thu, 11 Jun 2020 18:27:17 +0000 (19:27 +0100)
commit1c140cfbfa4b465a29ef26f1fdfef04c671e3c9c
treea5c3210a32cd3780251af930292f7adb751f9133
parentb32eea9c0c25a03e77170675abc4e4bcab6d2b3b
coroutines: Handle lambda closure pointers like 'this'.

It was agreed amongst the implementors that the correct
interpretation of the standard is that lambda closure pointers
should be treated in the same manner as class object pointers.

gcc/cp/ChangeLog:

* coroutines.cc (instantiate_coro_traits): Pass a reference
to lambda closure objects to traits instantiation.
(morph_fn_to_coro): Likewise for promise parameter
preview and allocator lookup.
gcc/cp/coroutines.cc