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

            Bug ID: 90820
           Summary: [10 regression] ICE in hashtab_chk_error, at
                    hash-table.h:1022
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

Between 20190609 (r272089) and 20190610 (r272121), many C++ tests started to
ICE:

+FAIL: g++.dg/concepts/template-parm12.C  -std=gnu++17 (internal compiler
error)
+FAIL: g++.dg/concepts/template-parm12.C  -std=gnu++17 (test for excess errors)
+FAIL: g++.dg/cpp0x/pr54323.C  -std=c++14 (internal compiler error)
+FAIL: g++.dg/cpp0x/pr54323.C  -std=c++14 (test for excess errors)
+FAIL: g++.dg/cpp0x/pr54323.C  -std=c++17 (internal compiler error)
+FAIL: g++.dg/cpp0x/pr54323.C  -std=c++17 (test for excess errors)

and many many more.  I'm seeing it on both Solaris/x86 and Solaris/SPARC, and
there
are gcc-testresults reports for Linux/i686 and Linux/x86_64, among others.
Excess errors:
hash table checking failed: equal operator returns true for a pair of values
with a different hash value
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/cpp0x/pr54323.C:16:14:
internal compiler error: in hashtab_chk_error, at hash-table.h:1022
0x8ca92a1 hashtab_chk_error
        /vol/gcc/src/hg/trunk/local/gcc/hash-table.h:1022
0x8cd5170 hash_table<spec_hasher, false, xcallocator>::verify(spec_entry*
const&, unsigned int)
        /vol/gcc/src/hg/trunk/local/gcc/hash-table.h:1040
x8cd532e hash_table<spec_hasher, false,
xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int,
insert_option)
        /vol/gcc/src/hg/trunk/local/gcc/hash-table.h:963
0x8c92c5c lookup_template_class_1
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:9735
0x8c92c5c lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:9781
0x8c942ba tsubst_aggr_type
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:12789
0x8c7d067 tsubst(tree_node*, tree_node*, int, tree_node*)
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:14463
0x8c7c8f6 tsubst_arg_types
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:14061
0x8c7cc8f tsubst_arg_types
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:14027
0x8c7cc8f tsubst_function_type
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:14202
0x8c7d79f tsubst(tree_node*, tree_node*, int, tree_node*)
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:14947
0x8c94c6c tsubst_function_decl
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:13053
0x8c96443 tsubst_template_decl
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:13363
0x8c8bdbf tsubst_decl
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:13485
0x8ca52f0 tsubst_friend_function
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:10417
0x8ca52f0 instantiate_class_template_1
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:11469
0x8ca52f0 instantiate_class_template(tree_node*)
        /vol/gcc/src/hg/trunk/local/gcc/cp/pt.c:11534
0x8d3080a complete_type(tree_node*)
        /vol/gcc/src/hg/trunk/local/gcc/cp/typeck.c:139
0x8d30958 complete_type(tree_node*)
        /vol/gcc/src/hg/trunk/local/gcc/cp/typeck.c:120
0x8d30958 complete_type_or_maybe_complain(tree_node*, tree_node*, int)
        /vol/gcc/src/hg/trunk/local/gcc/cp/typeck.c:151

This is almost certainly due to

2019-06-10  Martin Liska  <mli...@suse.cz>

        * hash-map.h: Pass default value to hash_table ctor.
        * hash-table.h: Add default value to call of a ctor.

Reply via email to