------- Comment #2 from pinskia at gcc dot gnu dot org 2006-12-27 17:01 ------- (In reply to comment #1) > Note this is actually wrong-code. No, it is not.
In notneg, if x is -2147483647-1, it is obviously, we have an overflow as -(-2147483647-1) is overflowed. In negnot, if x is 2147483647, then ~ 2147483647 == -2147483647-1, and then we have an overflow. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30267