https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63458
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> --- Though we could probably add a warning for: int f(bool b) { return b>>3; } since it is unusual to use >> on a boolean, and it would catch your testcase.