https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118168
--- Comment #4 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- Yeah, it was preprocessed against gcc-15 with c23 default. At least for gcc-13 you can add a few extra trivial defines to reproduce the slowdown. `-Dtrue=1 -Dfalse=0 -Dbool=int -Dnullptr=0 -D__builtin_c23_va_start=__builtin_va_start` was enough for me: $ gcc-13.3.0 -c a.c.c -o a.o -O0 -g0 -ftime-report -fsyntax-only -Dtrue=1 -Dfalse=0 -Dbool=int -Dnullptr=0 -D__builtin_c23_va_start=__builtin_va_start # -Wmisleading-indentation Time variable usr sys wall GGC phase setup : 0.00 ( 0%) 0.00 ( 0%) 0.00 ( 0%) 1819k ( 1%) phase parsing : 1.22 (100%) 0.93 (100%) 2.18 (100%) 165M ( 99%) phase lang. deferred : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 96 ( 0%) preprocessing : 0.22 ( 18%) 0.27 ( 29%) 0.68 ( 31%) 22M ( 14%) lexical analysis : 0.39 ( 32%) 0.28 ( 30%) 0.55 ( 25%) 0 ( 0%) parser (global) : 0.12 ( 10%) 0.07 ( 8%) 0.26 ( 12%) 52M ( 32%) parser struct body : 0.07 ( 6%) 0.05 ( 5%) 0.06 ( 3%) 16M ( 10%) parser function body : 0.42 ( 34%) 0.24 ( 26%) 0.64 ( 29%) 72M ( 44%) parser inl. func. body : 0.00 ( 0%) 0.02 ( 2%) 0.00 ( 0%) 510k ( 0%) TOTAL : 1.22 0.93 2.19 166M $ gcc-13.3.0 -c a.c.c -o a.o -O0 -g0 -ftime-report -fsyntax-only -Dtrue=1 -Dfalse=0 -Dbool=int -Dnullptr=0 -D__builtin_c23_va_start=__builtin_va_start -Wmisleading-indentation Time variable usr sys wall GGC phase setup : 0.00 ( 0%) 0.01 ( 1%) 0.01 ( 0%) 1819k ( 1%) phase parsing : 38.36 (100%) 1.15 ( 99%) 39.80 (100%) 165M ( 99%) preprocessing : 0.46 ( 1%) 0.28 ( 24%) 0.71 ( 2%) 22M ( 14%) lexical analysis : 0.50 ( 1%) 0.22 ( 19%) 0.71 ( 2%) 0 ( 0%) parser (global) : 0.12 ( 0%) 0.12 ( 10%) 0.29 ( 1%) 52M ( 32%) parser struct body : 0.05 ( 0%) 0.03 ( 3%) 0.11 ( 0%) 16M ( 10%) parser function body : 37.22 ( 97%) 0.49 ( 42%) 37.95 ( 95%) 72M ( 44%) parser inl. func. body : 0.01 ( 0%) 0.01 ( 1%) 0.02 ( 0%) 510k ( 0%) varconst : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 44k ( 0%) TOTAL : 38.36 1.16 39.81 166M