https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66322
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I guess we also shouldn't warn on (1) switch (bool) { case true: ... default: ... } (2) switch (bool) { case true: ... } (3) switch (bool) { default: } Similarly with s/true/false/. BTW, I've checked what clang does and the behavior is the same as GCC 5.1.