http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51721
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-03 10:18:12 UTC --- http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00046.html Deferring for 4.8. We should also add ASSERT_EXPRs e.g. for unsigned int x; int D.1234; D.1234_2 = (int) x_1(D); if (D.1234_2 < 0) (saying that x_1 has range [__INT_MAX__+1, -1U] if true and [0, __INT_MAX__] if false and perhaps for if ((x & 0x80000000)) kind of tests.