http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56488
Richard Biener changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56488
Richard Biener changed:
What|Removed |Added
Keywords||wrong-code
CC|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56488
--- Comment #5 from Marc Glisse 2013-03-01 10:05:53
UTC ---
You are right, of course. I remembered that gcc defined unsigned->signed
conversion, but I had forgotten that it defined all narrowing conversions as
well, sorry.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56488
--- Comment #4 from Jakub Jelinek 2013-03-01
09:59:39 UTC ---
But e = e + 5 is avaluated as
e = (short) ((int) e + 5)
and thus I think it just falls down to implementation defined behavior
(assuming short is smaller than int of course), b
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56488
--- Comment #3 from Marc Glisse 2013-03-01 09:53:20
UTC ---
Seems to me that 'e' is signed and the testcase relies on wrapping overflow
(-fwrapv helps).
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56488
Jakub Jelinek changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|