------- Comment #3 from jakub at gcc dot gnu dot org 2010-04-15 08:12 ------- The only bug here is in your program. ISO C99, 6.5.7/3 says: ... "If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined." and that's what happens here. ~0 is 32-bit and shifting it by 32 is undefined behavior.
-- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43755