Well that's no fun. Hmm... It's explicitly c99...
Ah, not a standard thing. It shows with -Wpedantic... but it's only a warning.
There's a risk of ambiguity for what the compiler jumps to when you declare something at the start of a case, but the default behavior of gcc works well enough. I think you've got some sneaky means of inserting -Werror into your build tools.
None of this was every planning on being -Wpedantic. It's just game, not life-critical code. Remember kids, the MISRA standard makes you MISRAble.