https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70354
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #10 from Marek Polacek <mpolacek at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #8) > About the shifting of negative value, wonder if it isn't actually UBSAN bug, > Marek, does C really say that -1 << 0 is invalid, or just -1 << 1? I think -1 << 0 is still UB: it's a left shift, the left operand has a signed type, but not nonnegative value.