------- 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