https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90805
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Yeah, in switch we have: case constant-expression : where the constant-expression shall be a converted constant expression of the adjusted type of the switch condition. And narrowing is not allowed in a converted constant expression. I'll try to take a look before long.