https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69095
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-12-31 CC| |trippels at gcc dot gnu.org Ever confirmed|0 |1 Known to fail| |4.9.3, 5.3.0, 6.0 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Confirmed. May be related to pr60153. markus@x4 /tmp % cat test.ii struct A { A(char *); }; struct B { template <typename Ret, typename... Args, unsigned = sizeof(Args)> void insert(A, Ret); }; void fun2() { B a1; a1.insert("", fun2); } markus@x4 /tmp % g++ -std=c++14 -c test.ii test.ii: In substitution of ‘template<class Ret, class ... Args, unsigned int <anonymous> > void B::insert(A, Ret) [with Ret = void (*)(); Args = {}; unsigned int <anonymous> = <missing>]’: test.ii:10:21: required from here test.ii:5:62: internal compiler error: in dependent_type_p, at cp/pt.c:22376 template <typename Ret, typename... Args, unsigned = sizeof(Args)> ^ 0x62ddb3 dependent_type_p(tree_node*) ../../gcc/gcc/cp/pt.c:22376 0x72851f cxx_sizeof_or_alignof_type(tree_node*, tree_code, bool) ../../gcc/gcc/cp/typeck.c:1569 0x649a9c tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:16121 0x63e3a8 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc/gcc/cp/pt.c:15658 0x64f1cc tsubst_template_arg ../../gcc/gcc/cp/pt.c:10302 0x668db2 type_unification_real ../../gcc/gcc/cp/pt.c:18346 0x675dcf fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool) ../../gcc/gcc/cp/pt.c:17611 0x5dfc6c add_template_candidate_real ../../gcc/gcc/cp/call.c:3059 0x5e06bc add_template_candidate ../../gcc/gcc/cp/call.c:3160 0x5e06bc add_candidates ../../gcc/gcc/cp/call.c:5332 0x5e0f4d build_new_method_call_1 ../../gcc/gcc/cp/call.c:8261 0x5e0f4d build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) ../../gcc/gcc/cp/call.c:8457 0x6f3eeb cp_parser_postfix_expression ../../gcc/gcc/cp/parser.c:6851 0x6fd414 cp_parser_unary_expression ../../gcc/gcc/cp/parser.c:7954 0x6fdffb cp_parser_cast_expression ../../gcc/gcc/cp/parser.c:8631 0x6fe418 cp_parser_binary_expression ../../gcc/gcc/cp/parser.c:8732 0x6fee04 cp_parser_assignment_expression ../../gcc/gcc/cp/parser.c:9019 0x7022f9 cp_parser_expression ../../gcc/gcc/cp/parser.c:9188 0x702db0 cp_parser_expression_statement ../../gcc/gcc/cp/parser.c:10649 0x6ee334 cp_parser_statement ../../gcc/gcc/cp/parser.c:10500