coroutines: No cleanups on goto statements.
authorIain Sandoe <iain@sandoe.co.uk>
Wed, 3 Mar 2021 16:13:00 +0000 (16:13 +0000)
committerIain Sandoe <iain@sandoe.co.uk>
Wed, 1 Sep 2021 13:23:16 +0000 (14:23 +0100)
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

index 25269d9..3bb33cc 100644 (file)
@@ -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;