https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84536
Bug ID: 84536
Summary: [7/8 Regression] ICE with non-type template parameter
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: error-recovery, ice-on-invalid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: reichelt at gcc dot gnu.org
Target Milestone: ---
The following invalid code snippet triggers an ICE since GCC 7.1.0:
====================================================
template<int... N> auto foo(N...) -> void {}
void bar()
{
foo<>();
}
====================================================
bug.cc:1:34: error: expected ';' before '->' token
template<int... N> auto foo(N...) -> void {}
^~~
;
bug.cc: In instantiation of 'auto foo<>':
bug.cc:5:3: required from here
bug.cc:1:25: internal compiler error: in cp_finish_decl, at cp/decl.c:6812
template<int... N> auto foo(N...) -> void {}
^~~
0x600957 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
../../gcc/gcc/cp/decl.c:6812
0x965bf9 instantiate_decl(tree_node*, bool, bool)
../../gcc/gcc/cp/pt.c:23367
0x8aefcb maybe_instantiate_decl
../../gcc/gcc/cp/decl2.c:5186
0x8b0dd8 mark_used(tree_node*, int)
../../gcc/gcc/cp/decl2.c:5281
0x9ace9b finish_id_expression(tree_node*, tree_node*, tree_node*, cp_id_kind*,
bool, bool, bool*, bool, bool, bool, bool, char const**, unsigned int)
../../gcc/gcc/cp/semantics.c:3681
0x91e2dc cp_parser_primary_expression
../../gcc/gcc/cp/parser.c:5607
0x9306fc cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:7026
0x9312d0 cp_parser_unary_expression
../../gcc/gcc/cp/parser.c:8318
0x91165f cp_parser_cast_expression
../../gcc/gcc/cp/parser.c:9086
0x911e6a cp_parser_binary_expression
../../gcc/gcc/cp/parser.c:9187
0x9136a4 cp_parser_assignment_expression
../../gcc/gcc/cp/parser.c:9482
0x913db8 cp_parser_expression
../../gcc/gcc/cp/parser.c:9651
0x915a78 cp_parser_expression_statement
../../gcc/gcc/cp/parser.c:11118
0x91bded cp_parser_statement
../../gcc/gcc/cp/parser.c:10922
0x91d300 cp_parser_statement_seq_opt
../../gcc/gcc/cp/parser.c:11261
0x91d3d7 cp_parser_compound_statement
../../gcc/gcc/cp/parser.c:11215
0x933b50 cp_parser_function_body
../../gcc/gcc/cp/parser.c:21756
0x933b50 cp_parser_ctor_initializer_opt_and_function_body
../../gcc/gcc/cp/parser.c:21793
0x934400 cp_parser_function_definition_after_declarator
../../gcc/gcc/cp/parser.c:26694
0x935134 cp_parser_function_definition_from_specifiers_and_declarator
../../gcc/gcc/cp/parser.c:26610
Please submit a full bug report, [etc.]