https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65679

Harald van Dijk <harald at gigawatt dot nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |harald at gigawatt dot nl

--- Comment #1 from Harald van Dijk <harald at gigawatt dot nl> ---
There are two separate issues here: the assignment, and the comparison.

Assignment to *q (*(&x + 1)) is not allowed, that's still assignment past the
end of an object, even if there happens to be a valid object immediately
following it in memory. Two pointers comparing as equal does not make them
equivalent. There's no bug there.

The comparison p == q (&y == &x + 1) gets optimised to 0, and that part is
questionable: it may or may not technically be allowed here, but regardless,
this optimisation also causes valid code to get miscompiled. That's bug 61502.

Reply via email to