https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111606
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Actually here is the full backtrace: #2 0x0000000003524383 in error_recursion (context=0x4d471a0 <global_diagnostic_context>) at /home/apinski/src/upstream-gcc/gcc/gcc/diagnostic.cc:2265 #3 0x00000000035217be in diagnostic_report_diagnostic (context=0x4d471a0 <global_diagnostic_context>, diagnostic=0x7fffffff9e20) at /home/apinski/src/upstream-gcc/gcc/gcc/diagnostic.cc:1543 #4 0x0000000003522102 in diagnostic_impl (richloc=0x7fffffff9f00, metadata=0x0, opt=-1, gmsgid=0x39302e0 "explicit instantiation of %qD but no definition available", ap=0x7fffffff9ee8, kind=DK_PERMERROR) at /home/apinski/src/upstream-gcc/gcc/gcc/diagnostic.cc:1770 #5 0x0000000003523434 in permerror (location=2147483649, gmsgid=0x39302e0 "explicit instantiation of %qD but no definition available") at /home/apinski/src/upstream-gcc/gcc/gcc/diagnostic.cc:2037 #6 0x00000000010eb12c in instantiate_decl (d=<var_decl 0x7ffff7250d80 value>, defer_ok=false, expl_inst_class_mem_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:27362 #7 0x0000000000ec2acd in maybe_instantiate_decl (decl=<var_decl 0x7ffff7250d80 value>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/decl2.cc:5555 #8 0x0000000000ebee57 in decl_constant_var_p (decl=<var_decl 0x7ffff7250d80 value>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/decl2.cc:4569 #9 0x0000000000ef4a05 in constant_value_1 (decl=<var_decl 0x7ffff7250d80 value>, strict_p=true, return_aggregate_cst_ok_p=true, unshare_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/init.cc:2526 #10 0x0000000000ef4e59 in decl_really_constant_value (decl=<var_decl 0x7ffff7250d80 value>, unshare_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/init.cc:2617 #11 0x0000000000dced8b in cxx_eval_constant_expression (ctx=0x7fffffffa7b0, t=<var_decl 0x7ffff7250d80 value>, lval=vc_prvalue, non_constant_p=0x7fffffffa730, overflow_p=0x7fffffffa731, jump_target=0x0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:7216 #12 0x0000000000dd1261 in cxx_eval_constant_expression (ctx=0x7fffffffa7b0, t=<nop_expr 0x7ffff740f480>, lval=vc_prvalue, non_constant_p=0x7fffffffa730, overflow_p=0x7fffffffa731, jump_target=0x0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:7827 #13 0x0000000000dd4f51 in cxx_eval_outermost_constant_expr (t=<nop_expr 0x7ffff740f480>, allow_non_constant=true, strict=true, manifestly_const_eval=mce_value::mce_true, constexpr_dtor=false, object=<tree 0x0>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:8517 #14 0x0000000000dd60be in maybe_constant_value (t=<nop_expr 0x7ffff740f480>, decl=<tree 0x0>, manifestly_const_eval=mce_value::mce_true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:8806 #15 0x0000000000dd6736 in fold_non_dependent_expr (t=<nop_expr 0x7ffff740f480>, complain=0, manifestly_const_eval=true, object=<tree 0x0>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:8945 #16 0x00000000011bf9c9 in check_narrowing (type=<integer_type 0x7ffff72655e8 int>, init=<nop_expr 0x7ffff740f480>, complain=0, const_only=true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/typeck2.cc:993 #17 0x0000000000d5a284 in convert_like_internal (convs=0x4dea410, expr=<nop_expr 0x7ffff740f480>, fn=<tree 0x0>, argnum=0, issue_conversion_warnings=true, c_cast_p=false, nested_p=false, complain=0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:8879 #18 0x0000000000d5a5ca in convert_like (convs=0x4dea410, expr=<var_decl 0x7ffff7250d80 value>, fn=<tree 0x0>, argnum=0, issue_conversion_warnings=true, c_cast_p=false, nested_p=false, complain=0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:8944 #19 0x0000000000d5a63b in convert_like (convs=0x4dea410, expr=<var_decl 0x7ffff7250d80 value>, complain=0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:8959 #20 0x0000000000d4a9ee in build_converted_constant_expr_internal (type=<integer_type 0x7ffff72655e8 int>, expr=<var_decl 0x7ffff7250d80 value>, flags=5, complain=0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:4808 #21 0x0000000000d4aa85 in build_converted_constant_expr (type=<integer_type 0x7ffff72655e8 int>, expr=<var_decl 0x7ffff7250d80 value>, complain=0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:4838 #22 0x0000000001084794 in convert_nontype_argument (type=<integer_type 0x7ffff72655e8 int>, expr=<var_decl 0x7ffff7250d80 value>, complain=0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:7414 #23 0x0000000001089897 in convert_template_argument (parm=<parm_decl 0x7ffff7ff6280>, arg=<var_decl 0x7ffff7250d80 value>, args=<tree_vec 0x7ffff740f460>, complain=0, i=0, in_decl=<template_decl 0x7ffff7ff6300 enable_if>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:8713 #24 0x000000000108b976 in coerce_template_parms (parms=<tree_vec 0x7ffff73e6bc0>, args=<tree_vec 0x7ffff740f440>, in_decl=<template_decl 0x7ffff7ff6300 enable_if>, complain=0, require_all_args=true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:9205 #25 0x000000000108e57f in lookup_template_class (d1=<identifier_node 0x7ffff74033c0 enable_if>, arglist=<tree_vec 0x7ffff740f440>, in_decl=<tree 0x0>, context=<tree 0x0>, entering_scope=1, complain=0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:9980 #26 0x00000000010a2e5c in tsubst_aggr_type_1 (t=<record_type 0x7ffff73f2738 enable_if>, args=<tree_vec 0x7ffff740f060>, complain=0, in_decl=<tree 0x0>, entering_scope=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:14055 #27 0x00000000010a2ca5 in tsubst_aggr_type (t=<record_type 0x7ffff73f2738 enable_if>, args=<tree_vec 0x7ffff740f060>, complain=16384, in_decl=<tree 0x0>, entering_scope=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:14019 #28 0x00000000010b3d52 in tsubst (t=<typename_type 0x7ffff73f27e0 type>, args=<tree_vec 0x7ffff740f060>, complain=0, in_decl=<tree 0x0>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:16589 #29 0x0000000000ecdda9 in dump_template_bindings (pp=0x4b8f220 <actual_pretty_printer>, parms=<tree 0x0>, args=<tree_vec 0x7ffff740f060>, typenames=0x7ffff7409ca8 = {...}) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:492 #30 0x0000000000ed47ac in dump_substitution (pp=0x4b8f220 <actual_pretty_printer>, t=<template_decl 0x7ffff7ff6780 __ct >, template_parms=<tree_list 0x7ffff73eef50>, template_args=<tree_vec 0x7ffff740f060>, flags=132) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:1703 #31 0x0000000000ed64b9 in dump_function_decl (pp=0x4b8f220 <actual_pretty_printer>, t=<template_decl 0x7ffff7ff6780 __ct >, flags=132) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:1872 #32 0x0000000000ed3399 in dump_decl (pp=0x4b8f220 <actual_pretty_printer>, t=<function_decl 0x7ffff740d500 __ct >, flags=132) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:1421 #33 0x0000000000edd633 in decl_to_string (decl=<function_decl 0x7ffff740d500 __ct >, verbose=1, show_color=true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:3308 #34 0x0000000000ee148e in cp_printer (pp=0x4da4990, text=0x7fffffffbb00, spec=0x4da5fe2 "D", precision=0, wide=false, set_locus=false, verbose=true, quoted=0x7fffffffb751, buffer_ptr=0x4da5df0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:4482 #35 0x0000000003555006 in pp_format (pp=0x4da4990, text=0x7fffffffbb00) at /home/apinski/src/upstream-gcc/gcc/gcc/pretty-print.cc:1475 #36 0x000000000355542a in pp_format_verbatim (pp=0x4da4990, text=0x7fffffffbb00) at /home/apinski/src/upstream-gcc/gcc/gcc/pretty-print.cc:1536 #37 0x0000000003555cfe in pp_verbatim (pp=0x4da4990, msg=0x38f2478 "required from %q#D\n") at /home/apinski/src/upstream-gcc/gcc/gcc/pretty-print.cc:1790 #38 0x0000000000edf5b8 in print_instantiation_partial_context_line (context=0x4d471a0 <global_diagnostic_context>, t=0x7ffff7402c60, loc=2147483649, recursive_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:3764 #39 0x0000000000edf8f7 in print_instantiation_partial_context (context=0x4d471a0 <global_diagnostic_context>, t0=0x7ffff7402c60, loc=2147483649) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:3852 #40 0x0000000000edf41d in print_instantiation_full_context (context=0x4d471a0 <global_diagnostic_context>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:3732 #41 0x0000000000edf993 in maybe_print_instantiation_context (context=0x4d471a0 <global_diagnostic_context>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:3869 #42 0x0000000000eddf2b in cp_diagnostic_starter (context=0x4d471a0 <global_diagnostic_context>, diagnostic=0x7fffffffbe90) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/error.cc:3559 #43 0x000000000352198b in diagnostic_report_diagnostic (context=0x4d471a0 <global_diagnostic_context>, diagnostic=0x7fffffffbe90) at /home/apinski/src/upstream-gcc/gcc/gcc/diagnostic.cc:1607 #44 0x0000000003522102 in diagnostic_impl (richloc=0x7fffffffbf70, metadata=0x0, opt=-1, gmsgid=0x39302e0 "explicit instantiation of %qD but no definition available", ap=0x7fffffffbf58, kind=DK_PERMERROR) at /home/apinski/src/upstream-gcc/gcc/gcc/diagnostic.cc:1770 #45 0x0000000003523434 in permerror (location=2147483649, gmsgid=0x39302e0 "explicit instantiation of %qD but no definition available") at /home/apinski/src/upstream-gcc/gcc/gcc/diagnostic.cc:2037 #46 0x00000000010eb12c in instantiate_decl (d=<var_decl 0x7ffff7250d80 value>, defer_ok=false, expl_inst_class_mem_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:27362 #47 0x0000000000ec2acd in maybe_instantiate_decl (decl=<var_decl 0x7ffff7250d80 value>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/decl2.cc:5555 #48 0x0000000000ebee57 in decl_constant_var_p (decl=<var_decl 0x7ffff7250d80 value>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/decl2.cc:4569 #49 0x0000000000ef4a05 in constant_value_1 (decl=<var_decl 0x7ffff7250d80 value>, strict_p=true, return_aggregate_cst_ok_p=true, unshare_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/init.cc:2526 #50 0x0000000000ef4e59 in decl_really_constant_value (decl=<var_decl 0x7ffff7250d80 value>, unshare_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/init.cc:2617 #51 0x0000000000dced8b in cxx_eval_constant_expression (ctx=0x7fffffffc820, t=<var_decl 0x7ffff7250d80 value>, lval=vc_prvalue, non_constant_p=0x7fffffffc7a0, overflow_p=0x7fffffffc7a1, jump_target=0x0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:7216 #52 0x0000000000dd1261 in cxx_eval_constant_expression (ctx=0x7fffffffc820, t=<nop_expr 0x7ffff740f3e0>, lval=vc_prvalue, non_constant_p=0x7fffffffc7a0, overflow_p=0x7fffffffc7a1, jump_target=0x0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:7827 #53 0x0000000000dd4f51 in cxx_eval_outermost_constant_expr (t=<nop_expr 0x7ffff740f3e0>, allow_non_constant=true, strict=true, manifestly_const_eval=mce_value::mce_true, constexpr_dtor=false, object=<tree 0x0>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:8517 #54 0x0000000000dd60be in maybe_constant_value (t=<nop_expr 0x7ffff740f3e0>, decl=<tree 0x0>, manifestly_const_eval=mce_value::mce_true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:8806 #55 0x0000000000dd6736 in fold_non_dependent_expr (t=<nop_expr 0x7ffff740f3e0>, complain=1, manifestly_const_eval=true, object=<tree 0x0>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/constexpr.cc:8945 #56 0x00000000011bf9c9 in check_narrowing (type=<integer_type 0x7ffff72655e8 int>, init=<nop_expr 0x7ffff740f3e0>, complain=1, const_only=true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/typeck2.cc:993 #57 0x0000000000d5a284 in convert_like_internal (convs=0x4dea380, expr=<nop_expr 0x7ffff740f3e0>, fn=<tree 0x0>, argnum=0, issue_conversion_warnings=true, c_cast_p=false, nested_p=false, complain=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:8879 #58 0x0000000000d5a5ca in convert_like (convs=0x4dea380, expr=<var_decl 0x7ffff7250d80 value>, fn=<tree 0x0>, argnum=0, issue_conversion_warnings=true, c_cast_p=false, nested_p=false, complain=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:8944 #59 0x0000000000d5a63b in convert_like (convs=0x4dea380, expr=<var_decl 0x7ffff7250d80 value>, complain=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:8959 #60 0x0000000000d4a9ee in build_converted_constant_expr_internal (type=<integer_type 0x7ffff72655e8 int>, expr=<var_decl 0x7ffff7250d80 value>, flags=5, complain=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:4808 #61 0x0000000000d4aa85 in build_converted_constant_expr (type=<integer_type 0x7ffff72655e8 int>, expr=<var_decl 0x7ffff7250d80 value>, complain=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/call.cc:4838 ---Type <return> to continue, or q <return> to quit--- #62 0x0000000001084794 in convert_nontype_argument (type=<integer_type 0x7ffff72655e8 int>, expr=<var_decl 0x7ffff7250d80 value>, complain=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:7414 #63 0x0000000001089897 in convert_template_argument (parm=<parm_decl 0x7ffff7ff6280>, arg=<var_decl 0x7ffff7250d80 value>, args=<tree_vec 0x7ffff740f3c0>, complain=1, i=0, in_decl=<template_decl 0x7ffff7ff6300 enable_if>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:8713 #64 0x000000000108b976 in coerce_template_parms (parms=<tree_vec 0x7ffff73e6bc0>, args=<tree_vec 0x7ffff740f3a0>, in_decl=<template_decl 0x7ffff7ff6300 enable_if>, complain=1, require_all_args=true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:9205 #65 0x000000000108e57f in lookup_template_class (d1=<identifier_node 0x7ffff74033c0 enable_if>, arglist=<tree_vec 0x7ffff740f3a0>, in_decl=<parm_decl 0x7ffff7ff6600>, context=<tree 0x0>, entering_scope=1, complain=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:9980 #66 0x00000000010a2e5c in tsubst_aggr_type_1 (t=<record_type 0x7ffff73f2738 enable_if>, args=<tree_vec 0x7ffff740f060>, complain=1, in_decl=<parm_decl 0x7ffff7ff6600>, entering_scope=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:14055 #67 0x00000000010a2ca5 in tsubst_aggr_type (t=<record_type 0x7ffff73f2738 enable_if>, args=<tree_vec 0x7ffff740f060>, complain=16385, in_decl=<parm_decl 0x7ffff7ff6600>, entering_scope=1) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:14019 #68 0x00000000010b3d52 in tsubst (t=<typename_type 0x7ffff73f27e0 type>, args=<tree_vec 0x7ffff740f060>, complain=1, in_decl=<parm_decl 0x7ffff7ff6600>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:16589 #69 0x00000000010ac981 in tsubst_decl (t=<parm_decl 0x7ffff7ff6600>, args=<tree_vec 0x7ffff740f060>, complain=1, use_spec_table=true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:15010 #70 0x00000000010b0fa7 in tsubst (t=<parm_decl 0x7ffff7ff6600>, args=<tree_vec 0x7ffff740f060>, complain=1, in_decl=<parm_decl 0x7ffff7ff6600>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:15973 #71 0x00000000010ace3a in tsubst_decl (t=<parm_decl 0x7ffff7ff6580>, args=<tree_vec 0x7ffff740f060>, complain=1, use_spec_table=true) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:15049 #72 0x00000000010e7577 in regenerate_decl_from_template (decl=<function_decl 0x7ffff740d500 __ct >, tmpl=<template_decl 0x7ffff7ff6780 __ct >, args=<tree_vec 0x7ffff740f060>) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:26689 #73 0x00000000010e8ffd in instantiate_body (pattern=<template_decl 0x7ffff7ff6780 __ct >, args=<tree_vec 0x7ffff740f060>, d=<function_decl 0x7ffff740d500 __ct >, nested_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:27027 #74 0x00000000010eb1b9 in instantiate_decl (d=<function_decl 0x7ffff740d500 __ct >, defer_ok=false, expl_inst_class_mem_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:27379 #75 0x00000000010eb595 in instantiate_pending_templates (retries=0) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/pt.cc:27457