[Bug c++/60188] New: [c++11] ICE with parameter pack in default template parameter
reichelt at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 13 23:05:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60188
Bug ID: 60188
Summary: [c++11] ICE with parameter pack in default template
parameter
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: reichelt at gcc dot gnu.org
The following invalid code snippet (compiled with "-std=c++11")
triggers an ICE since GCC 4.3.0:
===========================================================
struct A
{
int i;
};
template<typename... T, int A::* = &T::i> void foo() {}
template void foo<A>();
===========================================================
bug.cc: In substitution of 'template<class ... T, int A::* <anonymous> > void
foo() [with T = {A}; int A::* <anonymous> = <missing>]':
bug.cc:8:22: required from here
bug.cc:6:36: internal compiler error: in dependent_type_p, at cp/pt.c:20283
template<typename... T, int A::* = &T::i> void foo() {}
^
0x5ff408 dependent_type_p(tree_node*)
../../gcc/gcc/cp/pt.c:20283
0x5ffbc0 dependent_scope_p(tree_node*)
../../gcc/gcc/cp/pt.c:20314
0x6321b4 tsubst_qualified_id
../../gcc/gcc/cp/pt.c:12263
0x609c4c tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:14134
0x6115c6 tsubst_expr
../../gcc/gcc/cp/pt.c:13812
0x61e39c tsubst_template_arg
../../gcc/gcc/cp/pt.c:9293
0x639b80 type_unification_real
../../gcc/gcc/cp/pt.c:16326
0x64260a 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:15671
0x6432ca get_bindings
../../gcc/gcc/cp/pt.c:18402
0x643dfe determine_specialization
../../gcc/gcc/cp/pt.c:1968
0x644f31 check_explicit_specialization(tree_node*, tree_node*, int, int)
../../gcc/gcc/cp/pt.c:2636
0x5516f1 grokfndecl
../../gcc/gcc/cp/decl.c:7724
0x5ebfc4 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
../../gcc/gcc/cp/decl.c:10798
0x6c9d5a cp_parser_explicit_instantiation
../../gcc/gcc/cp/parser.c:14111
0x6d3fef cp_parser_declaration
../../gcc/gcc/cp/parser.c:10956
0x6d2bb8 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10869
0x6d445a cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4014
0x6d445a c_parse_file()
../../gcc/gcc/cp/parser.c:31536
0x7f37c3 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1060
Please submit a full bug report, [etc.]
More information about the Gcc-bugs
mailing list