https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118900
--- Comment #2 from Anonymous <iamanonymous.cs at gmail dot com> --- (In reply to Andrew Pinski from comment #1) > ((&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 Thank you, Andrew! I appreciate your response.