it's promoted to int (signed) which when shifting into the sign bit is UB per §6.5.7 ¶ 4 of the C99 spec.