https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49278
--- Comment #13 from Vittorio Zecca <zeccav at gmail dot com> --- I think that 1 << 31 is undefined because "1" is assumed (signed) int. Maybe it should be 1u << 31 ? Anyway on 6.1.0 I have no runtime error message.