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.