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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-10-22
                 CC|                            |mpolacek at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Confirmed. 

#define INT_MIN (-__INT_MAX__ - 1L)

unsigned int
foo (unsigned int x)
{
  return x <= __INT_MAX__ ? x : -x;
}

int
main ()
{
  return foo (INT_MIN);
}

We transform foo to
return (unsigned int) ABS_EXPR <(signed int) x>;

Reply via email to