• Alex Converse's avatar
    Convert some undefined 1<<31 shifts into 1U<<31. · 187a5379
    Alex Converse authored
    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.
    187a5379