[Bug c++/106152] New: New ICE compiling template expressions

byteslice at airmail dot cc gcc-bugzilla@gcc.gnu.org
Thu Jun 30 19:16:37 GMT 2022


            Bug ID: 106152
           Summary: New ICE compiling template expressions
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: byteslice at airmail dot cc
  Target Milestone: ---

Created attachment 53229
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53229&action=edit
Reduced example

Compile with -std=gnu++20. No ICE on 12.

g++ (f35dbc02092fbcd3d814fcd9fe8e871c3f741fd, binutils-2.38) 13.0.0 20220626


<source>: In instantiation of 'struct invert_typelist_impl<index_tuple<0> >':
<source>:20:75:   required from 'struct invert_typelist<typelist<int> >'
<source>:22:11:   required from here
<source>:15:21: internal compiler error: in iterative_hash_template_arg, at
   15 |   static const long last_idx;
      |                     ^~~~~~~~
0x2212db9 internal_error(char const*, ...)
0x74a531 fancy_abort(char const*, int, char const*)
0x9a2397 iterative_hash_template_arg(tree_node*, unsigned int)
0x9a16bd iterative_hash_template_arg(tree_node*, unsigned int)
0x9cb387 tsubst(tree_node*, tree_node*, int, tree_node*)
0x9f7d56 tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
0x9caeea tsubst(tree_node*, tree_node*, int, tree_node*)
0x9e6987 tsubst_pack_expansion(tree_node*, tree_node*, int, tree_node*)
0x9f7fd2 tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
0x9cb0e9 tsubst(tree_node*, tree_node*, int, tree_node*)
0x9cb387 tsubst(tree_node*, tree_node*, int, tree_node*)
0xa118b1 instantiate_class_template(tree_node*)
0xa11b27 instantiate_class_template(tree_node*)
0xa87f8b complete_type_or_maybe_complain(tree_node*, tree_node*, int)
0x9b8750 process_template_parm(tree_node*, unsigned int, tree_node*, bool,
0x993a5d c_parse_file()
0xb2a161 c_common_parse_file()
Please submit a full bug report, with preprocessed source (by using
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

More information about the Gcc-bugs mailing list