https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116443
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Slight correction, the correct term is "integer constant expression", and C requires a "constant expression" for a case label, not an integer constant expression. But the rest still stands, GCC is not required to accept this, but Clang is allowed to accept it, see C17 6.6 "An implementation may accept other forms of constant expressions."