[gcc/devel/c++-modules] coroutines: Partial reversion of r11-437-g5ef067eb14d4.

Nathan Sidwell nathan@gcc.gnu.org
Wed Jun 10 16:39:45 GMT 2020


https://gcc.gnu.org/g:f898793b4545483adaf62c5efbc78cee518884e6

commit f898793b4545483adaf62c5efbc78cee518884e6
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Thu May 21 15:06:53 2020 +0100

    coroutines: Partial reversion of r11-437-g5ef067eb14d4.
    
    co_returns are statements, not expressions; they do not need
    to be wrapped in an EXPR_STMT.
    
    gcc/cp/ChangeLog:
    
            * coroutines.cc (finish_co_return_stmt): Revert change to use
            finish_expr_stmt.

Diff:
---
 gcc/cp/coroutines.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index 4cbc0e09994..b79e2c66b70 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -1102,7 +1102,8 @@ finish_co_return_stmt (location_t kw, tree expr)
 		" %<co_return%> statement");
 
   expr = build2_loc (kw, CO_RETURN_EXPR, void_type_node, expr, co_ret_call);
-  return finish_expr_stmt (expr);
+  expr = maybe_cleanup_point_expr_void (expr);
+  return add_stmt (expr);
 }
 
 /* We need to validate the arguments to __builtin_coro_promise, since the


More information about the Gcc-cvs mailing list