------- Comment #5 from pinskia at gcc dot gnu dot org 2009-02-21 00:44 -------
Because of different optimizations happen. When having 1, it basically
creates:
if (y == 0)
return p->A >= 512;
return 0;
with -1, it keeps the branch.
This is normal with aliasing violations really.
Anyways the code is undefined so the compiler technically could do anything.
*** This bug has been marked as a duplicate of 21920 ***
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39255