https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127415
Matt Godbolt <matt at godbolt dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |matt at godbolt dot org
--- Comment #1 from Matt Godbolt <matt at godbolt dot org> ---
I did some digging and https://godbolt.org/z/osrhn6nsP repro's this.
GCC's own warning if you build with `-O2 -Wall`: "'<anonymous>' may be used
uninitialized" is a clue and after looking it seems like this is a duplicate of
P124584 (fixed on trunk by r17-2063 / gcc-16 by r16-9218, not yet backported to
15).
The structed binding cleanup guard isn't promoted to the coroutine frame, so
after resume it's read from whatever resumer left in callee-saved reg (so
optimization settings affect this).