From 608832716e27ca356ee38d14ae30b3ab525884ea Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Fri, 5 Jun 2020 15:09:39 +0100 Subject: [PATCH] coroutines: co_returns are statements, not expressions. This corrects an error in the CO_RETURN_EXPR tree class. gcc/cp/ChangeLog: * cp-tree.def (CO_RETURN_EXPR): Correct the class to use tcc_statement. --- 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: -- 2.30.2