https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114480
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> --- It compiles OK with GCC 11.4.0 on x86_64-pc-linux-gnu, it just takes a very long time. I think you probably just ran out of memory or stack space. -ftime-report shows: Time variable usr sys wall GGC phase setup : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 1562k ( 0%) phase parsing : 1.85 ( 1%) 0.84 ( 44%) 2.69 ( 1%) 231M ( 20%) phase lang. deferred : 0.44 ( 0%) 0.09 ( 5%) 0.54 ( 0%) 46M ( 4%) phase opt and generate : 238.73 ( 99%) 0.96 ( 51%) 240.34 ( 99%) 852M ( 75%) |name lookup : 0.24 ( 0%) 0.07 ( 4%) 0.24 ( 0%) 2189k ( 0%) |overload resolution : 0.97 ( 0%) 0.20 ( 11%) 1.25 ( 1%) 151M ( 13%) garbage collection : 0.33 ( 0%) 0.01 ( 1%) 0.34 ( 0%) 0 ( 0%) dump files : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 0 ( 0%) callgraph construction : 0.20 ( 0%) 0.01 ( 1%) 0.20 ( 0%) 45M ( 4%) callgraph optimization : 0.07 ( 0%) 0.00 ( 0%) 0.07 ( 0%) 0 ( 0%) callgraph ipa passes : 1.50 ( 1%) 0.36 ( 19%) 1.87 ( 1%) 103M ( 9%) ipa dead code removal : 0.02 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 0 ( 0%) ipa inlining heuristics : 0.05 ( 0%) 0.00 ( 0%) 0.04 ( 0%) 0 ( 0%) cfg construction : 0.03 ( 0%) 0.00 ( 0%) 0.03 ( 0%) 3959k ( 0%) cfg cleanup : 0.17 ( 0%) 0.00 ( 0%) 0.17 ( 0%) 928 ( 0%) trivially dead code : 0.16 ( 0%) 0.00 ( 0%) 0.17 ( 0%) 0 ( 0%) df scan insns : 0.57 ( 0%) 0.15 ( 8%) 0.73 ( 0%) 14k ( 0%) df live regs : 0.41 ( 0%) 0.04 ( 2%) 0.47 ( 0%) 0 ( 0%) df reg dead/unused notes : 0.50 ( 0%) 0.00 ( 0%) 0.50 ( 0%) 31M ( 3%) register information : 1.55 ( 1%) 0.00 ( 0%) 1.55 ( 1%) 0 ( 0%) alias analysis : 0.08 ( 0%) 0.01 ( 1%) 0.09 ( 0%) 10M ( 1%) alias stmt walking : 0.02 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 36k ( 0%) rebuild jump labels : 0.11 ( 0%) 0.00 ( 0%) 0.11 ( 0%) 0 ( 0%) preprocessing : 0.23 ( 0%) 0.20 ( 11%) 0.40 ( 0%) 1219k ( 0%) parser (global) : 1.42 ( 1%) 0.52 ( 28%) 1.91 ( 1%) 213M ( 19%) parser struct body : 0.06 ( 0%) 0.02 ( 1%) 0.08 ( 0%) 8434k ( 1%) parser enumerator list : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 51k ( 0%) parser function body : 0.07 ( 0%) 0.04 ( 2%) 0.06 ( 0%) 3008k ( 0%) parser inl. func. body : 0.03 ( 0%) 0.02 ( 1%) 0.02 ( 0%) 2894k ( 0%) parser inl. meth. body : 0.06 ( 0%) 0.01 ( 1%) 0.04 ( 0%) 4000k ( 0%) template instantiation : 0.17 ( 0%) 0.07 ( 4%) 0.28 ( 0%) 21M ( 2%) constant expression evaluation : 0.25 ( 0%) 0.04 ( 2%) 0.39 ( 0%) 17M ( 2%) inline parameters : 0.16 ( 0%) 0.00 ( 0%) 0.17 ( 0%) 8247k ( 1%) tree gimplify : 0.95 ( 0%) 0.03 ( 2%) 0.99 ( 0%) 83M ( 7%) tree eh : 8.63 ( 4%) 0.04 ( 2%) 8.67 ( 4%) 86M ( 8%) tree CFG construction : 0.08 ( 0%) 0.00 ( 0%) 0.07 ( 0%) 31M ( 3%) tree CFG cleanup : 0.14 ( 0%) 0.00 ( 0%) 0.14 ( 0%) 720 ( 0%) tree PHI insertion : 0.50 ( 0%) 0.00 ( 0%) 0.50 ( 0%) 7901k ( 1%) tree SSA rewrite : 0.10 ( 0%) 0.00 ( 0%) 0.11 ( 0%) 40M ( 4%) tree SSA other : 0.21 ( 0%) 0.15 ( 8%) 0.31 ( 0%) 45k ( 0%) tree SSA incremental : 0.08 ( 0%) 0.00 ( 0%) 0.07 ( 0%) 0 ( 0%) tree operand scan : 0.32 ( 0%) 0.19 ( 10%) 0.55 ( 0%) 18M ( 2%) dominance frontiers : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 0 ( 0%) dominance computation : 0.14 ( 0%) 0.00 ( 0%) 0.16 ( 0%) 0 ( 0%) out of ssa : 0.06 ( 0%) 0.00 ( 0%) 0.08 ( 0%) 1057k ( 0%) expand vars : 0.02 ( 0%) 0.00 ( 0%) 0.02 ( 0%) 10M ( 1%) expand : 0.64 ( 0%) 0.08 ( 4%) 0.73 ( 0%) 226M ( 20%) post expand cleanups : 0.11 ( 0%) 0.00 ( 0%) 0.10 ( 0%) 16M ( 1%) varconst : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 9184 ( 0%) loop init : 0.07 ( 0%) 0.01 ( 1%) 0.06 ( 0%) 451k ( 0%) loop fini : 0.01 ( 0%) 0.00 ( 0%) 0.00 ( 0%) 0 ( 0%) integrated RA : 197.52 ( 82%) 0.16 ( 8%) 198.17 ( 81%) 111M ( 10%) LRA non-specific : 1.25 ( 1%) 0.02 ( 1%) 1.30 ( 1%) 23M ( 2%) LRA virtuals elimination : 0.35 ( 0%) 0.00 ( 0%) 0.33 ( 0%) 28M ( 3%) LRA create live ranges : 17.99 ( 7%) 0.00 ( 0%) 18.03 ( 7%) 2808 ( 0%) LRA hard reg assignment : 0.06 ( 0%) 0.02 ( 1%) 0.08 ( 0%) 0 ( 0%) reload : 0.01 ( 0%) 0.00 ( 0%) 0.02 ( 0%) 7296 ( 0%) thread pro- & epilogue : 0.30 ( 0%) 0.00 ( 0%) 0.29 ( 0%) 506k ( 0%) machine dep reorg : 0.01 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 0 ( 0%) shorten branches : 0.26 ( 0%) 0.00 ( 0%) 0.27 ( 0%) 0 ( 0%) reg stack : 0.39 ( 0%) 0.00 ( 0%) 0.39 ( 0%) 5056 ( 0%) final : 0.62 ( 0%) 0.00 ( 0%) 0.61 ( 0%) 23M ( 2%) symout : 0.00 ( 0%) 0.01 ( 1%) 0.04 ( 0%) 7249k ( 1%) uninit var analysis : 0.04 ( 0%) 0.02 ( 1%) 0.07 ( 0%) 9800 ( 0%) rest of compilation : 3.44 ( 1%) 0.02 ( 1%) 3.51 ( 1%) 42M ( 4%) repair loop structures : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 0 ( 0%) TOTAL : 241.02 1.89 243.58 1131M