coroutines: Mark the gro as artificial.
authorIain Sandoe <iain@sandoe.co.uk>
Fri, 1 May 2020 18:20:46 +0000 (19:20 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Mon, 4 May 2020 19:53:14 +0000 (20:53 +0100)
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  <iain@sandoe.co.uk>

* coroutines.cc (morph_fn_to_coro): Mark the coro.gro variable
as artificial and ignored.

gcc/cp/ChangeLog
gcc/cp/coroutines.cc

index 334899d49fb0ea2593d65b06fa6d71bd9c290402..70f620fc353ea955ae9bc4ffd381ba8192b12c18 100644 (file)
@@ -1,3 +1,8 @@
+2020-05-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (morph_fn_to_coro): Mark the coro.gro variable
+       as artificial and ignored.
+
 2020-05-04  Nathan Sidwell  <nathan@acm.org>
 
        pt.c (process_template_parm): Don't walk the template list twice,
index e90d3d5a3b39dabee0e48c9ab2ef6cb0780559ea..bc08b1de0acbfabca941e1213ab552477d4925f0 100644 (file)
@@ -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;