[Bug c++/71164] tree check fail at cp/pt.c:12961
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed May 18 08:44:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71164
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduces test-case:
template <char, class Preconditioner> class A {
template <class = Preconditioner> void m_fn1() { m_fn1(); }
};
g++ bug.cc -c -std=c++11
bug.cc: In substitution of ‘template<char <anonymous>, class Preconditioner>
template<class> void A<<anonymous>, Preconditioner>::m_fn1() [with
<template-parameter-2-1> = <missing>; char <anonymous> = <missing>;
Preconditioner = <missing>]’:
bug.cc:2:58: required from here
bug.cc:2:13: internal compiler error: tree check: accessed elt 2 of tree_vec
with 1 elts in tsubst, at cp/pt.c:12961
template <class = Preconditioner> void m_fn1() { m_fn1(); }
^~~~~
0x10052c5 tree_vec_elt_check_failed(int, int, char const*, int, char const*)
../../gcc/tree.c:9950
0x716ef9 tree_vec_elt_check(tree_node const*, int, char const*, int, char
const*)
../../gcc/tree.h:3472
0x6de00a tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/cp/pt.c:12961
0x6fa535 type_unification_real
../../gcc/cp/pt.c:18488
0x7080aa fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool)
../../gcc/cp/pt.c:17753
0x66ddd0 add_template_candidate_real
../../gcc/cp/call.c:3110
0x66eb2c add_template_candidate
../../gcc/cp/call.c:3188
0x66eb2c add_candidates
../../gcc/cp/call.c:5361
0x66f3af build_new_method_call_1
../../gcc/cp/call.c:8312
0x66f3af build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
../../gcc/cp/call.c:8511
0x784522 cp_parser_postfix_expression
../../gcc/cp/parser.c:6875
0x78205c cp_parser_unary_expression
../../gcc/cp/parser.c:7986
0x78c097 cp_parser_cast_expression
../../gcc/cp/parser.c:8663
0x78c65b cp_parser_binary_expression
../../gcc/cp/parser.c:8764
0x78cf20 cp_parser_assignment_expression
../../gcc/cp/parser.c:9051
0x78f84a cp_parser_expression
../../gcc/cp/parser.c:9220
0x78fdf3 cp_parser_expression_statement
../../gcc/cp/parser.c:10681
0x79f156 cp_parser_statement
../../gcc/cp/parser.c:10532
0x79fb3c cp_parser_statement_seq_opt
../../gcc/cp/parser.c:10804
0x79fc4f cp_parser_compound_statement
../../gcc/cp/parser.c:10758
While GCC 5.3.1 (g++ bug.cc -std=c++11 -c) works fine.
Martin
More information about the Gcc-bugs
mailing list