------- Comment #6 from janis at gcc dot gnu dot org  2006-08-08 20:59 -------
A regression hunt on powerpc-linux confirmed that this patch caused the change
in behavior:

    http://gcc.gnu.org/viewcvs?view=rev&rev=107702

    r107702 | bonzini | 2005-11-30 08:20:23 +0000 (Wed, 30 Nov 2005)

Here's the test I used:

------------------------
extern void abort (void);
int
foo (unsigned int u)
{
  return (int)(u + 4) < (int)u;
}

int
main (int argc, char *argv[])
{
  unsigned int u;

  /* Run with no arguments so u will be MAX_INT and the optimizers
     won't know its value.  */
  if (argc > 1)
    u = 1;
  else
    u = 0x7fffffff;

  if (foo (u) == 0)
    abort();
  return 0;
}
------------------------


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28651

Reply via email to