[PATCH] coroutines: co_returns are statements, not expressions.

Nathan Sidwell nathan@acm.org
Mon Jun 1 17:18:28 GMT 2020


On 6/1/20 4:56 AM, Iain Sandoe wrote:
> Hi
> 
> This corrects an typo in the CO_RETURN_EXPR tree class.
> 
> Although it doens’t fix any PR or regression - it seems to me that it would be
> sensible to apply this to 10.2 as well as master (or it’s an accident waiting to
> happen).
> 
> OK for master?
> 10.2 (after some bake)?
> thanks
> Iain
> 
> gcc/cp/ChangeLog:
> 
> 	* cp-tree.def (CO_RETURN_EXPR): Correct the class
> 	to use tcc_statement.

ok

> ---
>   gcc/cp/cp-tree.def | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/gcc/cp/cp-tree.def b/gcc/cp/cp-tree.def
> index 1454802bf68..99851eb780f 100644
> --- a/gcc/cp/cp-tree.def
> +++ b/gcc/cp/cp-tree.def
> @@ -594,9 +594,9 @@ DEFTREECODE (CO_YIELD_EXPR, "co_yield", tcc_expression, 2)
>   /* The co_return expression is used to support coroutines.
>   
>      Op0 is the original expr, can be void (for use in diagnostics)
> -   Op2 is the promise return_xxxx call for Op0. */
> +   Op1 is the promise return_xxxx call for for the expression given. */
>   
> -DEFTREECODE (CO_RETURN_EXPR, "co_return", tcc_expression, 2)
> +DEFTREECODE (CO_RETURN_EXPR, "co_return", tcc_statement, 2)
>   
>   /*
>   Local variables:
> 


-- 
Nathan Sidwell


More information about the Gcc-patches mailing list