https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77655
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- Causes a stack overflow in: #174 0x0000000000ddeefe in dump_type(cxx_pretty_printer*, tree_node*, int) () at ../../gcc/cp/error.c:510 #175 0x000000000061b56d in dump_template_bindings (typenames=0x7ffff67e1f28, args=0x7ffff67d7c80, parms=<optimized out>, pp=0x1e2af40 <actual_pretty_printer>) at ../../gcc/cp/error.c:354 #176 dump_substitution (pp=0x1e2af40 <actual_pretty_printer>, t=<optimized out>, template_parms=<optimized out>, template_args=0x7ffff67d7c80, flags=<optimized out>) at ../../gcc/cp/error.c:1450 #177 0x0000000000619b24 in dump_scope (flags=1, scope=<optimized out>, pp=0x1e2af40 <actual_pretty_printer>) at ../../gcc/cp/error.c:153 #178 dump_aggr_type (flags=0, t=0x7ffff67e4150, pp=0x1e2af40 <actual_pretty_printer>) at ../../gcc/cp/error.c:664 #179 dump_type (pp=0x1e2af40 <actual_pretty_printer>, t=<optimized out>, flags=0) at ../../gcc/cp/error.c:443 #180 0x0000000000ddf47a in dump_type_prefix (flags=0, t=0x7ffff67e4150, pp=0x1e2af40 <actual_pretty_printer>) at ../../gcc/cp/error.c:811 #181 dump_type_prefix(cxx_pretty_printer*, tree_node*, int) () at ../../gcc/cp/error.c:731 #182 0x0000000000ddeefe in dump_type(cxx_pretty_printer*, tree_node*, int) () at ../../gcc/cp/error.c:510 #183 0x000000000061b56d in dump_template_bindings (typenames=0x7ffff67e1e38, args=0x7ffff67d7c80, parms=<optimized out>, pp=0x1e2af40 <actual_pretty_printer>) at ../../gcc/cp/error.c:354 #184 dump_substitution (pp=0x1e2af40 <actual_pretty_printer>, t=<optimized out>, template_parms=<optimized out>, template_args=0x7ffff67d7c80, flags=<optimized out>) at ../../gcc/cp/error.c:1450 #185 0x0000000000619b24 in dump_scope (flags=1, scope=<optimized out>, pp=0x1e2af40 <actual_pretty_printer>) at ../../gcc/cp/error.c:153 #186 dump_aggr_type (flags=0, t=0x7ffff67e4150, pp=0x1e2af40 <actual_pretty_printer>) at ../../gcc/cp/error.c:664 #187 dump_type (pp=0x1e2af40 <actual_pretty_printer>, t=<optimized out>, flags=0) at ../../gcc/cp/error.c:443 #188 0x0000000000ddf47a in dump_type_prefix (flags=0, t=0x7ffff67e4150, pp=0x1e2af40 <actual_pretty_printer>) at ../../gcc/cp/error.c:811 #189 dump_type_prefix(cxx_pretty_printer*, tree_node*, int) () at ../../gcc/cp/error.c:731 #190 0x0000000000ddeefe in dump_type(cxx_pretty_printer*, tree_node*, int) () at ../../gcc/cp/error.c:510 #191 0x000000000061c7b8 in args_to_string (verbose=0, p=0x7ffff67e1e10) at ../../gcc/cp/error.c:3091 #192 cp_printer (pp=0x1fc6050, text=0x7fffffffc930, spec=<optimized out>, precision=<optimized out>, wide=<optimized out>, set_locus=<optimized out>, verbose=false) at ../../gcc/cp/error.c:3520 #193 0x000000000142d125 in pp_format(pretty_printer*, text_info*) () at ../../gcc/pretty-print.c:631 #194 0x000000000142b3ca in diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) () at ../../gcc/diagnostic.c:823 #195 0x0000000000d3b822 in error_at (loc=loc@entry=2147483648, gmsgid=gmsgid@entry=0x14bdd48 "no matching function for call to %<%D(%A)%>") at ../../gcc/diagnostic.c:1184 #196 0x00000000005e4d12 in print_error_for_call_failure (fn=fn@entry=0x7ffff67d78e0, args=0x7ffff67c3f00, candidates=0x2024fe0) at ../../gcc/cp/call.c:4054 #197 0x00000000005e00b4 in build_new_function_call (fn=0x7ffff67d78e0, args=0x7fffffffcc18, koenig_p=<optimized out>, complain=<optimized out>) at ../../gcc/cp/call.c:4120 #198 0x0000000000e1cea9 in finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int) () at ../../gcc/cp/semantics.c:2461 #199 0x0000000000daf277 in tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) () at ../../gcc/cp/pt.c:16641 #200 0x0000000000db9080 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) () at ../../gcc/cp/pt.c:15816 #201 0x0000000000dc17d2 in gen_elem_of_pack_expansion_instantiation (in_decl=<optimized out>, complain=<optimized out>, args=<optimized out>, index=<optimized out>, parm_packs=<optimized out>, pattern=<optimized out>) at ../../gcc/cp/pt.c:10625 #202 tsubst_pack_expansion(tree_node*, tree_node*, int, tree_node*) () at ../../gcc/cp/pt.c:11047 #203 0x0000000000db0942 in tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) () at ../../gcc/cp/pt.c:16502 ---Type <return> to continue, or q <return> to quit--- #204 0x0000000000dac4b4 in tsubst(tree_node*, tree_node*, int, tree_node*) () at ../../gcc/cp/pt.c:13545 #205 0x0000000000dbb404 in tsubst_function_type(tree_node*, tree_node*, int, tree_node*) () at ../../gcc/cp/pt.c:12617 #206 0x0000000000dac38b in tsubst(tree_node*, tree_node*, int, tree_node*) () at ../../gcc/cp/pt.c:13375 #207 0x0000000000db6902 in tsubst_decl(tree_node*, tree_node*, int) () at ../../gcc/cp/pt.c:11813 #208 0x0000000000dbdaab in instantiate_template_1 (complain=3, orig_args=0x3, tmpl=0x7ffff67da180) at ../../gcc/cp/pt.c:17415 #209 instantiate_template(tree_node*, tree_node*, int) () at ../../gcc/cp/pt.c:17466 #210 0x0000000000dbbcff in fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool) () at ../../gcc/cp/pt.c:17825 #211 0x00000000005e5064 in print_z_candidate (loc=loc@entry=2147483650, msgstr=msgstr@entry=0x14bcdbf "candidate:", candidate=candidate@entry=0x2024f20) at ../../gcc/cp/call.c:3440 #212 0x00000000005e4e20 in print_z_candidates (loc=2147483650, candidates=<optimized out>) at ../../gcc/cp/call.c:3510 #213 0x00000000005e4d25 in print_error_for_call_failure (fn=fn@entry=0x7ffff67d79a0, args=<optimized out>, candidates=<optimized out>) at ../../gcc/cp/call.c:4059 #214 0x00000000005e00b4 in build_new_function_call (fn=0x7ffff67d79a0, args=0x7fffffffd418, koenig_p=<optimized out>, complain=<optimized out>) at ../../gcc/cp/call.c:4120 #215 0x0000000000e1cea9 in finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int) () at ../../gcc/cp/semantics.c:2461 #216 0x0000000000daf277 in tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) () at ../../gcc/cp/pt.c:16641 #217 0x0000000000db9080 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) () at ../../gcc/cp/pt.c:15816 #218 0x0000000000db918f in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) () at ../../gcc/cp/pt.c:15132 #219 0x0000000000db938c in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) () at ../../gcc/cp/pt.c:15118 #220 0x0000000000db914e in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) () at ../../gcc/cp/pt.c:15304 #221 0x0000000000dbf046 in instantiate_decl(tree_node*, int, bool) () at ../../gcc/cp/pt.c:22011 #222 0x0000000000da0089 in instantiate_pending_templates(int) () at ../../gcc/cp/pt.c:22128 #223 0x0000000000dd9cb7 in c_parse_final_cleanups() () at ../../gcc/cp/decl2.c:4599 #224 0x00000000013b64b9 in compile_file() () at ../../gcc/toplev.c:463 #225 0x0000000000d74460 in do_compile () at ../../gcc/toplev.c:1986 #226 toplev::main(int, char**) () at ../../gcc/toplev.c:2094 #227 0x0000000000d75c27 in main (argc=13, argv=0x7fffffffdb48) at ../../gcc/main.c:39