/* $ x86_64-unknown-linux-gnu-gcc-4.8.1 error.c -O1 -ftree-vrp $ ./a.out Abort trap: 6 */ short x = 1; int y = 0; int main (void) { unsigned t = ( 2147450881U - (unsigned) x ) << ( y == 0 ); if ( t != 4294901760U ) { __builtin_abort(); } return 0; }