https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105770
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I think all the case labels are required to have the same types, but the index can be promoted (such as in this case promotion from char to int). I've looked at other switch handling cases and they do such conversions there.