diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc index c286af7bd0769953a818e5a63eb26eb249a23d53..1d75bbdf5d12075d5f9fb25e5177cbb903f594c1 100644 --- a/gcc/cp/coroutines.cc +++ b/gcc/cp/coroutines.cc @@ -4483,10 +4483,7 @@ cp_coroutine_transform::wrap_original_function_body () suppress_warning (rethrow); finish_expr_stmt (rethrow); finish_then_clause (not_iarc_if); - tree iarc_scope = IF_SCOPE (not_iarc_if); - IF_SCOPE (not_iarc_if) = NULL; - not_iarc_if = do_poplevel (iarc_scope); - add_stmt (not_iarc_if); + finish_if_stmt (not_iarc_if); /* ... else call the promise unhandled exception method but first we set done = true and the resume index to 0. If the unhandled exception method returns, then we continue