https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105989
--- Comment #11 from Michal Jankovič ---
(In reply to Iain Sandoe from comment #10)
> actually I thought I explained the issue in email to Michal - that we need
> to make some changes for correctness to these mechanisms and therefore that
> we s
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105989
--- Comment #7 from Michal Jankovič ---
(In reply to Arsen Arsenović from comment #6)
> hi, thanks for the patch. could you propose it on the ML? patches seldom
> get noticed here on BZ (see also https://gcc.gnu.org/contribute.html )
Hi, I ha
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105989
Michal Jankovič changed:
What|Removed |Added
Attachment #53273|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105989
--- Comment #4 from Michal Jankovič ---
Comment on attachment 53273
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53273
Experimental patch implementing the proposed transformation
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105989
--- Comment #3 from Michal Jankovič ---
Created attachment 53273
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53273&action=edit
Experimental patch implementing the proposed transformation
This patch implements the proposed coroutine fra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105989
--- Comment #2 from Michal Jankovič ---
Reading through gcc/cp/coroutines.cc, it seems like the coroutine frame is
indeed composed as a flat struct with fields for all the local variables,
temps, and special stuff needed by the actor.
Relevant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105989
--- Comment #1 from Michal Jankovič ---
Exploring further, this seems to be a symptom of a deeper issue - the coroutine
frame contains space for ALL variables of the coroutine, not just for the
maximally sized subset of the variables that can be
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105989
Bug ID: 105989
Summary: Coroutine frame space for temporaries in a co_await
expression is not reused
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity