https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53479
--- Comment #9 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- In summary, neither adding 'default' or 'return' are recommended to silence this warning if you think the warning is wrong. If you think the warning will always be wrong, use __builtin_unreachable(). If you think it is wrong now, but you would like to notice if it stops being wrong, then use assert(false).