« Previous | Next » 

Revision 187a5379

Parent db46be01
Child 2f072b55

Added by Alex Converse about 10 years ago

Convert some undefined 1<<31 shifts into 1U<<31.

According to ISO 9899:1999 S 6.5.7/4:

The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits
are filled with zeros. If E1 has an unsigned type, the value of the
result is E1× 2^E2, reduced modulo one more than the maximum value
representable in the result type. If E1 has a signed type and
nonnegative value, and E1× 2^E2 is representable in the result type, then
that is the resulting value; otherwise, the behavior is undefined.


  • added
  • modified
  • copied
  • renamed
  • deleted

View differences