Bug ID: 85263
           Summary: [concepts] ICE with parameter pack matching
           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
          Reporter: reichelt at gcc dot
            Blocks: 67491
  Target Milestone: ---

The following invalid code snippet (compiled with "-fconcepts") triggers
an ICE since GCC 6.1.0:

template<typename..., int...> concept bool C = true;

C{A, B} void foo();
======================================================= error: cannot match pack for introduced parameter
 C{A, B} void foo();
   ^ internal compiler error: tree check: accessed elt 1 of tree_vec
with 0 elts in process_introduction_parm, at cp/
 C{A, B} void foo();
0x78f405 tree_vec_elt_check_failed(int, int, char const*, int, char const*)
0x5e94ec tree_vec_elt_check(tree_node*, int, char const*, int, char const*)
0x5e94ec process_introduction_parm
0x5e94ec finish_template_introduction(tree_node*, tree_node*)
0x944368 cp_parser_template_introduction
0x944368 cp_parser_template_declaration_after_export
0x949714 cp_parser_declaration
0x949b31 cp_parser_declaration_seq_opt
0x949e24 cp_parser_translation_unit
0x949e24 c_parse_file()
0xa49bb6 c_common_parse_file()
Please submit a full bug report, [etc.]

Referenced Bugs:
[Bug 67491] [meta-bug] concepts issues

Reply via email to