On 4/25/20 9:49 AM, Iain Sandoe wrote:
Hi


tested on x86_64-darwin,
OK for master if the testing passes regstrap on x86-64-linux?
thanks
Iain

gcc/cp/ChangeLog:

2020-04-23  Iain Sandoe  <i...@sandoe.co.uk>

        PR c++/94759
        * coroutines.cc (coro_promise_type_found_p): Do not
        exclude non-classes here (this needs to be handled in the
        coroutine header).
        (morph_fn_to_coro):  Allow for the case where the coroutine
        returns void.

Ok, A nit ..

@@ -4197,16 +4183,24 @@ morph_fn_to_coro (tree orig, tree *resumer, tree 
*destroyer)
    /* The ramp is done, we just need the return value.  */
    if (!same_type_p (TREE_TYPE (get_ro), fn_return_type))
      {
-      /* construct the return value with a single GRO param.  */

        r = build_cplus_new (fn_return_type, r, tf_warning_or_error);
      }
-  else
+  else if (!gro_is_void_p)
      r = rvalue (gro); /* The GRO is the return value.  */
+  else r = NULL_TREE;

^^ missing line break

I see Jonathan approved the library bit, with a nit too.

nathan

--
Nathan Sidwell

Reply via email to