From 8406ed9af2655479a9c8469d7acca2cf5784f5d6 Mon Sep 17 00:00:00 2001
From: Iain Sandoe <iain@sandoe.co.uk>
Date: Wed, 3 Mar 2021 16:13:00 +0000
Subject: [PATCH] coroutines: No cleanups on goto statements.

Minor cleanup, this is statement not an expression, we do not
need to use finish_expr_stmt here.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

gcc/cp/ChangeLog:

	* coroutines.cc (await_statement_walker): Use build_stmt and
	add_stmt instead of build1 and finish_expr_stmt.
---
 gcc/cp/coroutines.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index 25269d9e51a7..3bb33cc9eb93 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -3824,8 +3824,8 @@ await_statement_walker (tree *stmt, int *do_subtree, void *d)
 	       the parameter to return_value().  */
 	    if (!maybe_await_stmt)
 	      maybe_await_stmt = tsi_stmt_ptr (tsi_last (ret_list));
-	    expr = build1_loc (loc, GOTO_EXPR, void_type_node, awpts->fs_label);
-	    finish_expr_stmt (expr);
+	    TREE_USED (awpts->fs_label) = 1;
+	    add_stmt (build_stmt (loc, GOTO_EXPR, awpts->fs_label));
 	    *stmt = pop_stmt_list (ret_list);
 	    /* Once this is complete, we will have processed subtrees.  */
 	    *do_subtree = 0;
-- 
GitLab