Paul Eggert wrote: > > Did C23 change this or is it just a compiler extension? > > C23 changed this. In C23 you can put a label before a declaration, or > before "}".
... and GCC ≥ 11 allows it also when compiling with -std=gnu99 or -std=gnu11. [1] [1] https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/Mixed-Labels-and-Declarations.html