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.

Reply via email to