From f898793b4545483adaf62c5efbc78cee518884e6 Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Thu, 21 May 2020 15:06:53 +0100 Subject: [PATCH] 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. --- 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 4cbc0e0..b79e2c6 100644 --- a/gcc/cp/coroutines.cc +++ b/gcc/cp/coroutines.cc @@ -1102,7 +1102,8 @@ finish_co_return_stmt (location_t kw, tree expr) " % 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 -- 2.7.4