public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/94528] New: coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399
@ 2020-04-07 23:31 iains at gcc dot gnu.org
2020-04-07 23:34 ` [Bug c++/94528] " iains at gcc dot gnu.org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: iains at gcc dot gnu.org @ 2020-04-07 23:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94528
Bug ID: 94528
Summary: coroutines: ICE building cppcoro in gimplify_expr, at
gimplify.c:14399
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: iains at gcc dot gnu.org
Target Milestone: ---
Created attachment 48237
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48237&action=edit
c-reduced reproducer.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/94528] coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399
2020-04-07 23:31 [Bug c++/94528] New: coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399 iains at gcc dot gnu.org
@ 2020-04-07 23:34 ` iains at gcc dot gnu.org
2020-04-07 23:35 ` iains at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: iains at gcc dot gnu.org @ 2020-04-07 23:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94528
Iain Sandoe <iains at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Assignee|unassigned at gcc dot gnu.org |iains at gcc dot gnu.org
Last reconfirmed| |2020-04-07
--- Comment #1 from Iain Sandoe <iains at gcc dot gnu.org> ---
Created attachment 48238
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48238&action=edit
Patch being tested
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/94528] coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399
2020-04-07 23:31 [Bug c++/94528] New: coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399 iains at gcc dot gnu.org
2020-04-07 23:34 ` [Bug c++/94528] " iains at gcc dot gnu.org
@ 2020-04-07 23:35 ` iains at gcc dot gnu.org
2020-04-07 23:36 ` iains at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: iains at gcc dot gnu.org @ 2020-04-07 23:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94528
Iain Sandoe <iains at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |10.0
Keywords| |ice-on-valid-code
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/94528] coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399
2020-04-07 23:31 [Bug c++/94528] New: coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399 iains at gcc dot gnu.org
2020-04-07 23:34 ` [Bug c++/94528] " iains at gcc dot gnu.org
2020-04-07 23:35 ` iains at gcc dot gnu.org
@ 2020-04-07 23:36 ` iains at gcc dot gnu.org
2020-04-08 13:34 ` nathan at gcc dot gnu.org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: iains at gcc dot gnu.org @ 2020-04-07 23:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94528
Iain Sandoe <iains at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |euloanty at live dot com
--- Comment #2 from Iain Sandoe <iains at gcc dot gnu.org> ---
*** Bug 93343 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/94528] coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399
2020-04-07 23:31 [Bug c++/94528] New: coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399 iains at gcc dot gnu.org
` (2 preceding siblings ...)
2020-04-07 23:36 ` iains at gcc dot gnu.org
@ 2020-04-08 13:34 ` nathan at gcc dot gnu.org
2020-04-10 23:42 ` cvs-commit at gcc dot gnu.org
2020-04-10 23:53 ` iains at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2020-04-08 13:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94528
Nathan Sidwell <nathan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |nathan at gcc dot gnu.org
--- Comment #3 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
The patch is ok. For avoidance of doubt, the 'for now' comment refers to an
issue addressed in a following patch.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/94528] coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399
2020-04-07 23:31 [Bug c++/94528] New: coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399 iains at gcc dot gnu.org
` (3 preceding siblings ...)
2020-04-08 13:34 ` nathan at gcc dot gnu.org
@ 2020-04-10 23:42 ` cvs-commit at gcc dot gnu.org
2020-04-10 23:53 ` iains at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-10 23:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94528
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain D Sandoe <iains@gcc.gnu.org>:
https://gcc.gnu.org/g:0666767eb4cc864f00ba34d97b9d58f8dc650bba
commit r10-7682-g0666767eb4cc864f00ba34d97b9d58f8dc650bba
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Fri Apr 10 20:55:10 2020 +0100
coroutines: Revise await expansions [PR94528]
The expansions for await expressions were specific to particular
cases, this revises it to be more generic.
a: Revise co_await statement walkers.
We want to process the co_awaits one statement at a time.
We also want to be able to determine the insertion points for
new bind scopes needed to cater for temporaries that are
captured by reference and have lifetimes that need extension
to the end of the full expression. Likewise, the handling of
captured references in the evaluation of conditions might
result in the need to make a frame copy.
This reorganises the statement walking code to make it easier to
extend for these purposes.
b: Factor reference-captured temp code.
We want to be able to use the code that writes a new bind expr
with vars (and their initializers) from several places, so split
that out of the maybe_promote_captured_temps() function into a
new replace_statement_captures (). Update some comments.
c: Generalize await statement expansion.
This revises the expansion to avoid the need to expand conditionally
on the tree type. It resolves PR 94528.
gcc/cp/ChangeLog:
2020-04-10 Iain Sandoe <iain@sandoe.co.uk>
PR c++/94538
* coroutines.cc (co_await_expander): Remove.
(expand_one_await_expression): New.
(process_one_statement): New.
(await_statement_expander): New.
(build_actor_fn): Revise to use per-statement expander.
(struct susp_frame_data): Reorder and comment.
(register_awaits): Factor code.
(replace_statement_captures): New, factored from...
(maybe_promote_captured_temps):.. here.
(await_statement_walker): Revise to process per statement.
(morph_fn_to_coro): Use revised susp_frame_data layout.
gcc/testsuite/ChangeLog:
2020-04-10 Iain Sandoe <iain@sandoe.co.uk>
PR c++/94538
* g++.dg/coroutines/pr94528.C: New test.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/94528] coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399
2020-04-07 23:31 [Bug c++/94528] New: coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399 iains at gcc dot gnu.org
` (4 preceding siblings ...)
2020-04-10 23:42 ` cvs-commit at gcc dot gnu.org
@ 2020-04-10 23:53 ` iains at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: iains at gcc dot gnu.org @ 2020-04-10 23:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94528
Iain Sandoe <iains at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #5 from Iain Sandoe <iains at gcc dot gnu.org> ---
so fixed
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-04-10 23:53 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-07 23:31 [Bug c++/94528] New: coroutines: ICE building cppcoro in gimplify_expr, at gimplify.c:14399 iains at gcc dot gnu.org
2020-04-07 23:34 ` [Bug c++/94528] " iains at gcc dot gnu.org
2020-04-07 23:35 ` iains at gcc dot gnu.org
2020-04-07 23:36 ` iains at gcc dot gnu.org
2020-04-08 13:34 ` nathan at gcc dot gnu.org
2020-04-10 23:42 ` cvs-commit at gcc dot gnu.org
2020-04-10 23:53 ` iains at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).