https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95223
Bug ID: 95223 Summary: [11 regression] hash table checking failed: equal operator returns true for a pair of values with a different hash value Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: dimhen at gmail dot com Target Milestone: --- r11-459 PASS r11-495 FAIL $ cat x.cpp struct s { } a; struct b; #include <cstdarg> #include <map> $ g++ -std=c++98 x.cpp hash table checking failed: equal operator returns true for a pair of values with a different hash value In file included from /home/dimhen/arch-gcc/gcc_current/include/c++/11.0.0/map:60, from x.cpp:4: /home/dimhen/arch-gcc/gcc_current/include/c++/11.0.0/bits/stl_tree.h:2149:37: internal compiler error: in hashtab_chk_error, at hash-table.c:137 2149 | _M_insert_unique(const _Val& __v) | ^ 0xab76f2 hashtab_chk_error() /home/dimhen/src/gcc_current/gcc/hash-table.c:137 0xc7b73d hash_table<spec_hasher, false, xcallocator>::verify(spec_entry* const&, unsigned int) /home/dimhen/src/gcc_current/gcc/hash-table.h:1033 0xc7b889 hash_table<spec_hasher, false, xcallocator>::find_with_hash(spec_entry* const&, unsigned int) /home/dimhen/src/gcc_current/gcc/hash-table.h:934 0xc62f0d lookup_template_class_1 /home/dimhen/src/gcc_current/gcc/cp/pt.c:9776 0xc65213 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) /home/dimhen/src/gcc_current/gcc/cp/pt.c:10115 0xc65213 tsubst_aggr_type /home/dimhen/src/gcc_current/gcc/cp/pt.c:13369 0xc5f7f1 maybe_update_decl_type(tree_node*, tree_node*) /home/dimhen/src/gcc_current/gcc/cp/pt.c:4858 0xc18263 cp_parser_init_declarator /home/dimhen/src/gcc_current/gcc/cp/parser.c:20595 0xc1f8d4 cp_parser_single_declaration /home/dimhen/src/gcc_current/gcc/cp/parser.c:29490 0xc1fa4b cp_parser_template_declaration_after_parameters /home/dimhen/src/gcc_current/gcc/cp/parser.c:29062 0xc201a0 cp_parser_explicit_template_declaration /home/dimhen/src/gcc_current/gcc/cp/parser.c:29328 0xc231e9 cp_parser_declaration /home/dimhen/src/gcc_current/gcc/cp/parser.c:13388 0xc22dd2 cp_parser_toplevel_declaration /home/dimhen/src/gcc_current/gcc/cp/parser.c:13467 0xc22dd2 cp_parser_declaration_seq_opt /home/dimhen/src/gcc_current/gcc/cp/parser.c:13315 0xc22dd2 cp_parser_namespace_body /home/dimhen/src/gcc_current/gcc/cp/parser.c:19723 0xc22dd2 cp_parser_namespace_definition /home/dimhen/src/gcc_current/gcc/cp/parser.c:19701 0xc231d8 cp_parser_declaration /home/dimhen/src/gcc_current/gcc/cp/parser.c:13419 0xc2381a cp_parser_translation_unit /home/dimhen/src/gcc_current/gcc/cp/parser.c:4725 0xc2381a c_parse_file() /home/dimhen/src/gcc_current/gcc/cp/parser.c:43976 0xd384ab c_common_parse_file() /home/dimhen/src/gcc_current/gcc/c-family/c-opts.c:1190 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.