http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675
--- Comment #19 from H.J. Lu <hjl.tools at gmail dot com> 2010-11-28 17:20:23 UTC --- Good original dump: int npairs; int i; int npairs; int i; npairs = (int) ((unsigned int) n + 2147483648); Bad dump: int npairs; int i; int npairs; int i; npairs = n - -2147483648; We seem to fail to handle overflow for - -2147483648 at very start.