[Bug c++/26292] Bad code in unsigned shifts

igodard at pacbell dot net gcc-bugzilla@gcc.gnu.org
Tue Feb 14 22:18:00 GMT 2006



------- Comment #4 from igodard at pacbell dot net  2006-02-14 22:18 -------
"undefined" takes care of the 4.0.2 case, and the first part of the Cygwin
case. But the shift that produces "d" in the Cygwin case has a right operand of
zero and a left operand (what the undefined gave as "c") also zero, but it
produces "7fffffff". Or does an undefined propagate outward through
parentheses, so that the result of any expression one of whose components
(however deeply nested) is undefined is also undefined? Is "true ||
(<undefined>)" also undefined? If so then neither of my cases is a bug, but if
not then there's a problem on Cygwin 3.4.4.

Ivan


-- 

igodard at pacbell dot net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |


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



More information about the Gcc-bugs mailing list