https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445

            Bug ID: 99445
           Summary: [11 Regression] ICE in
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at debian dot org
  Target Milestone: ---

Created attachment 50322
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50322&action=edit
preprocessed source, unreduced

seen with trunk 20210227, building the broker package.

$cat foo.ii
template <typename> class decay;
template <class> struct implicit_conversions;
template <class T>
using implicit_conversions_t = typename implicit_conversions<T>::type;
template <class> struct response_type;
template <class Ts, class... Xs>
using response_type_t = typename response_type<Ts, Xs...>::type;
template <class Handle, class... Ts>
    response_type<typename Handle::signatures,
                  implicit_conversions_t<typename decay<Ts>::type>...>
        response_type_t < typename Handle::signatures,
    typename implicit_conversions<typename decay<Ts>::type>::type...

$ g++ -c  -fchecking=2 --param=hash-table-verification-limit=1000 foo.ii
hash table checking failed: equal operator returns true for a pair of values
with a different hash value
foo.ii: In substitution of ‘template<class Ts, class ... Xs> using
response_type_t = typename response_type<Ts, Xs ...>::type [with Ts = typename
Handle::signatures; Xs = {typename implicit_conversions<typename
decay<Ts>::type>::type ...}]’:
foo.ii:12:66:   required from here
foo.ii:7:7: internal compiler error: in hashtab_chk_error, at hash-table.c:137
    7 | using response_type_t = typename response_type<Ts, Xs...>::type;
      |       ^~~~~~~~~~~~~~~
0x120e1f7 hashtab_chk_error()
        ../../src/gcc/hash-table.c:137
0x7863d0 hash_table<spec_hasher, false, xcallocator>::verify(spec_entry*
const&, unsigned int)
        ../../src/gcc/hash-table.h:1033
0x7863d0 hash_table<spec_hasher, false,
xcallocator>::find_with_hash(spec_entry* const&, unsigned int)
        ../../src/gcc/hash-table.h:918
0x14cdeff lookup_template_class_1
        ../../src/gcc/cp/pt.c:9871
0x14fe6fe lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        ../../src/gcc/cp/pt.c:10243
0x14fe6fe tsubst_aggr_type
        ../../src/gcc/cp/pt.c:13576
0x14e2f18 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../src/gcc/cp/pt.c:16037
0x15b98f7 tsubst_decl
        ../../src/gcc/cp/pt.c:14802
0x160ea6d instantiate_template_1
        ../../src/gcc/cp/pt.c:21118
0x160e884 instantiate_template(tree_node*, tree_node*, int)
        ../../src/gcc/cp/pt.c:21177
0x14e3a38 instantiate_alias_template
        ../../src/gcc/cp/pt.c:21215
0x14e3a38 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../src/gcc/cp/pt.c:15444
0x14cf10d lookup_template_class_1
        ../../src/gcc/cp/pt.c:9944
0x14cc186 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        ../../src/gcc/cp/pt.c:10243
0x14cc186 finish_template_type(tree_node*, tree_node*, int)
        ../../src/gcc/cp/semantics.c:3498
0x13e7bd3 cp_parser_template_id
        ../../src/gcc/cp/parser.c:17437
0x13ef262 cp_parser_class_name
        ../../src/gcc/cp/parser.c:24664
0x13e240f cp_parser_qualifying_entity
        ../../src/gcc/cp/parser.c:6994
0x13e240f cp_parser_nested_name_specifier_opt
        ../../src/gcc/cp/parser.c:6676
0x13ded32 cp_parser_nested_name_specifier
        ../../src/gcc/cp/parser.c:6920
Please submit a full bug report,
with preprocessed source if appropriate.

Reply via email to