https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118900
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |INVALID
Status|UNCONFIRMED |RESOLVED
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
((&b[1] - (a & ~a)) - a) goes outside of the array bounds of b. so it becomes
undefined, at the second iteration
But in this case, it just happens the address of c is at &b[-6]
b 0x404038
b[2] 0x404040
e 0x404020
ae 1
aexpr 0x40403c
eexpr 0x404020
ae 0
aexpr 0x404038
eexpr 0x404020
ae -2
aexpr 0x404030
eexpr 0x404020
ae -6
aexpr 0x404020
eexpr 0x404020