https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98026
--- Comment #5 from Andrew Macleod <amacleod at redhat dot com> --- (In reply to Andrew Macleod from comment #4) > > void f4(signed int i,unsigned int j) { > > if (i > 100) return; > > if (j > i) return; > > > > if (j > 100) link_error(); > > if i is -2 (0xfffffffe) and j is 0xffffffffff (-1) > > then link error cant be removed.. ? err, j is 0xfffffffd (-3) you get the idea :-) Friday evenings are killer for logic and bit patterns...