------- Comment #3 from pinskia at gcc dot gnu dot org 2006-08-21 05:03 ------- (In reply to comment #2) > It is signed overflow being undefined and so the i == 0 test being optimized > away. > Use -fwrapv or an unsigned loop counter.
And the "!= 0" is being optimized to 1 because signed overflow is undefined. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28777