[Bug middle-end/44608] unspecified signed overflow applied to unsigned int

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Jun 21 11:38:00 GMT 2010



------- Comment #5 from rguenth at gcc dot gnu dot org  2010-06-21 11:38 -------
It is folding from the frontend that changes

    if (y >= 0x80000000)

to

    if ((int) y < 0)

(see code == LT instead of code == GEU)

But the main issue is that y = -y to abs is bogus (but we can't easily tell
that as on RTL operands do not have a signedness).


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |wrong-code
   Last reconfirmed|0000-00-00 00:00:00         |2010-06-21 11:38:28
               date|                            |


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



More information about the Gcc-bugs mailing list