https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66827
--- Comment #6 from Paolo Bonzini <bonzini at gnu dot org> --- If you really want to fix it, (-(1 << 19)) is the best. The real fix would be to lobby the C/C++ committees so that left shift of a negative value is unspecified behavior rather than undefined.