https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87847
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|marxin at gcc dot gnu.org |jason at gcc dot gnu.org --- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Martin Liška from comment #8) > So the issue is still present: > https://gcc.gnu.org/ml/gcc-regression/2019-06/msg00144.html > > I'm testing: > https://gcc.gnu.org/bugzilla/attachment.cgi?id=46387&action=diff right now So with patch I still see couple of ICEs remaining: FAIL: g++.dg/cpp0x/udlit-template.C -std=c++14 (internal compiler error) FAIL: g++.dg/cpp0x/udlit-template.C -std=c++14 (test for excess errors) FAIL: g++.dg/cpp0x/udlit-template.C -std=c++17 (internal compiler error) FAIL: g++.dg/cpp0x/udlit-template.C -std=c++17 (test for excess errors) FAIL: g++.dg/cpp0x/variadic98.C -std=c++17 (internal compiler error) FAIL: g++.dg/cpp0x/variadic98.C -std=c++17 (test for excess errors) FAIL: g++.dg/cpp1y/feat-cxx14.C (test for excess errors) FAIL: g++.dg/cpp1z/feat-cxx1z.C -std=gnu++17 (test for excess errors) FAIL: g++.dg/cpp1z/pr85569.C -std=c++17 (test for excess errors) FAIL: g++.dg/cpp2a/feat-cxx2a.C (test for excess errors) FAIL: g++.dg/tm/pr46646.C -std=gnu++14 (internal compiler error) FAIL: g++.dg/tm/pr46646.C -std=gnu++14 (test for excess errors) One reduced test-case: $ cat 1.ii template <char...> int operator"" _abc(); template <> int operator"" _abc(); $ ./xg++ -B. 1.ii -c hash table checking failed: equal operator returns true for a pair of values with a different hash value 1.ii:2:33: internal compiler error: in hashtab_chk_error, at hash-table.h:1022 2 | template <> int operator"" _abc(); | ^ 0xaf623e hashtab_chk_error /home/marxin/Programming/gcc/gcc/hash-table.h:1022 0xb83ef9 hash_table<spec_hasher, false, xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int, insert_option) /home/marxin/Programming/gcc/gcc/hash-table.h:963 0xafe5d8 register_specialization /home/marxin/Programming/gcc/gcc/cp/pt.c:1566 0xb05860 check_explicit_specialization(tree_node*, tree_node*, int, int, tree_node*) /home/marxin/Programming/gcc/gcc/cp/pt.c:3237 0x9aa99d grokfndecl /home/marxin/Programming/gcc/gcc/cp/decl.c:9218 0x9b6999 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) /home/marxin/Programming/gcc/gcc/cp/decl.c:12803 0x9993f2 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int, tree_node*, tree_node*, tree_node**) /home/marxin/Programming/gcc/gcc/cp/decl.c:5062 0xab7026 cp_parser_init_declarator /home/marxin/Programming/gcc/gcc/cp/parser.c:20357 0xac6cab cp_parser_single_declaration /home/marxin/Programming/gcc/gcc/cp/parser.c:28244 0xab0ff7 cp_parser_explicit_specialization /home/marxin/Programming/gcc/gcc/cp/parser.c:17304 0xaa9bc8 cp_parser_declaration /home/marxin/Programming/gcc/gcc/cp/parser.c:13168 0xaa9ef4 cp_parser_toplevel_declaration /home/marxin/Programming/gcc/gcc/cp/parser.c:13251 0xa9719a cp_parser_translation_unit /home/marxin/Programming/gcc/gcc/cp/parser.c:4690 0xaee97d c_parse_file() /home/marxin/Programming/gcc/gcc/cp/parser.c:41176 0xcb3987 c_common_parse_file() /home/marxin/Programming/gcc/gcc/c-family/c-opts.c:1156 I'm planning to disable the sanitization of the 2 hash tables now. @Jason: can you please take a look at the remaining test-cases?