------- Comment #4 from guillaume dot melquiond at ens-lyon dot fr 2007-01-04 11:25 ------- Just for the sake of completeness. Wrong code is also generated when addition and multiplication are mixed, because of distributivity:
int f(int a)
{
if (a > 0x7FFFFFF0) return 0;
int b = (a - 20) * 2;
return b > 0x7FFFFFF0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30364
