[gcc(refs/users/guojiufu/heads/personal-branch)] coroutines: co_returns are statements, not expressions.
Jiu Fu Guo
guojiufu@gcc.gnu.org
Wed Jun 10 03:42:30 GMT 2020
https://gcc.gnu.org/g:608832716e27ca356ee38d14ae30b3ab525884ea
commit 608832716e27ca356ee38d14ae30b3ab525884ea
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Fri Jun 5 15:09:39 2020 +0100
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.
Diff:
---
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:
More information about the Gcc-cvs
mailing list