https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124588
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2026-03-22
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue is that 'test' has its address taken and that causes us to assume
that seemingly_unrelated () might write to it. That also explains why
using two structs works.
We do limited analysis at -O0, so that's somewhat expected here.
There's probably a duplicate bug about flow-sensitivity and TREE_ADDRESSABLE
with early uninit.