https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122390

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Andrew Pinski from comment #1)
> A better example is:
> ```
> int g(unsigned long xlo,  long xhi, unsigned long ylo,  long yhi)
> {
>   return xhi - yhi - (xlo < ylo) < xhi;
> }
> ```
> 
> I think
Actually, the testcase needs to be:

_Bool g (unsigned xlo, unsigned xhi, unsigned ylo, unsigned yhi)
{
  return xhi - yhi - (xlo < ylo) > xhi;
}

Because only unsigned a - b > a equals a < b.

Reply via email to