------- Comment #6 from pinskia at gcc dot gnu dot org 2005-11-29 17:34 ------- (In reply to comment #5) > Note this was the simple fix which exposes those latent bugs as far as I can > see that should work, we get the correct range but the rest of VRP goes > bonkers:
I should also note it does not do the correct thing for -fwrapv either. For the testcase in comment #1: int f(int i, int j ) { int k; k = i+ - 1; return k < i; } i = INT_MIN k will equal INT_MAX so the comparision will be wrong to return true as INT_MAX is not less than INT_MIN. VRP does not like symbolic ranges at all. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25145