From 0719055a956d900f160e2e980eb2a5c8bcc7cb39 Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Fri, 1 May 2020 19:20:46 +0100 Subject: [PATCH] coroutines: Mark the gro as artificial. This corrects an oversight, the coro.gro object is a a compiler-generated entity and should be marked as artificial and ignored. gcc/cp/ChangeLog: 2020-05-04 Iain Sandoe * coroutines.cc (morph_fn_to_coro): Mark the coro.gro variable as artificial and ignored. --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/coroutines.cc | 2 ++ 2 files changed, 7 insertions(+) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 334899d49fb..70f620fc353 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2020-05-04 Iain Sandoe + + * coroutines.cc (morph_fn_to_coro): Mark the coro.gro variable + as artificial and ignored. + 2020-05-04 Nathan Sidwell pt.c (process_template_parm): Don't walk the template list twice, diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc index e90d3d5a3b3..bc08b1de0ac 100644 --- a/gcc/cp/coroutines.cc +++ b/gcc/cp/coroutines.cc @@ -4234,6 +4234,8 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer) gro = build_lang_decl (VAR_DECL, get_identifier ("coro.gro"), TREE_TYPE (get_ro)); DECL_CONTEXT (gro) = current_scope (); + DECL_ARTIFICIAL (gro) = true; + DECL_IGNORED_P (gro) = true; add_decl_expr (gro); gro_bind_vars = gro; -- 2.30.2