[Bug middle-end/30364] [4.1/4.2/4.3 Regression] Wrong variable ranges due to constant folding

guillaume dot melquiond at ens-lyon dot fr gcc-bugzilla@gcc.gnu.org
Thu Jan 4 11:25:00 GMT 2007



------- 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



More information about the Gcc-bugs mailing list