https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87392
--- Comment #7 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- The implementation-definedness of signed left shift in C90, including shifting into or past the sign bit (as long as the shift count isn't too large or negative), is stated explicitly in the response to DR#081.