https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99861
--- Comment #9 from Alexander Lelyakin <alexander.lelyakin at googlemail dot com> --- The same happens with the ICE in add_mergeable_specialization, PR99948, http://lelyakin.de/modules/in%20add_mergeable_specialization/016_7ae8737cc3d793d796faedfe5de5d89d42b966b5/ After adding parameter --param=hash-table-verification-limit=1000 the error was transformed to: hash table checking failed: equal operator returns true for a pair of values with a different hash value In file included from /usr/local/include/c++/11.0.1/memory:68, from /usr/local/include/c++/11.0.1/regex:45: /usr/local/include/c++/11.0.1/bits/stl_raw_storage_iter.h: In destructor ‘constexpr std::allocator< <template-parameter-1-1> >::~allocator() [with _Tp = char32_t]’: /usr/local/include/c++/11.0.1/bits/stl_raw_storage_iter.h:95:58: internal compiler error: in hashtab_chk_error, at hash-table.c:137 95 | std::_Construct(std::__addressof(*_M_iter), std::move(__element)); | ^~~~ 0x92f671 hashtab_chk_error() ../../gcc/gcc/hash-table.c:137 0xb3ec35 hash_table<spec_hasher, false, xcallocator>::verify(spec_entry* const&, unsigned int) ../../gcc/gcc/hash-table.h:1033 0xb3f1be hash_table<spec_hasher, false, xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int, insert_option) ../../gcc/gcc/hash-table.h:968 0xafbd2b match_mergeable_specialization(bool, spec_entry*) ../../gcc/gcc/cp/pt.c:30034 0xa74e18 trees_in::key_mergeable(int, merge_kind, tree_node*, tree_node*, tree_node*, tree_node*, bool) ../../gcc/gcc/cp/module.cc:10670 0xa78a14 trees_in::decl_value() ../../gcc/gcc/cp/module.cc:7903 0xa71877 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9153 0xa77e9b module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14811 0xa7839d module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa7845f module_state::lazy_load(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18740 0xa726e0 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9664 0xa77b9b module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14717 0xa7839d module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa7845f module_state::lazy_load(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18740 0xa726e0 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9664 0xa77b9b module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14717 0xa7839d module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa7845f module_state::lazy_load(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18740 0xa7b5b7 lazy_load_pendings(tree_node*) ../../gcc/gcc/cp/module.cc:18833 0xa83d58 maybe_lazily_declare ../../gcc/gcc/cp/name-lookup.c:1912 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. However this parameter significantly slows compilation. And already two weeks this report remains unassigned...