https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128002
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|wrong code with -O0 |[14/15/16/17 Regression]
|-fsanitize=address for an |wrong code with -O0
|address-taken parameter |-fsanitize=address for an
|used in a nested function |address-taken parameter
| |used in a nested function
Last reconfirmed| |2026-10-19
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=121661
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Target Milestone|--- |14.5
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
asanopt is rewriting:
_6 = x;
into:
_6 = FRAME.0.x;
This is wrong. But it happens because we are regimplifying this load. x has
DECL_EXPR_DECL set on it. And that regimplification breaks things. This was
similar broken for complex lowering, see PR 121661.