https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101583
Bug ID: 101583 Summary: [12 Regression] error: use of deleted function when building gold Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: redi at gcc dot gnu.org Target Milestone: --- Happens for the current binutils master: $ g++ 12.ii -c -m32 In file included from /usr/include/c++/12/unordered_set:46, from ../../gold/system.h:68, from ../../gold/gold.h:35, from ../../gold/ehframe.cc:23: /usr/include/c++/12/bits/hashtable.h: In instantiation of ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_Hashtable(const _Hash&, const _Equal&, const allocator_type&) [with _Key = int; _Value = int; _Alloc = std::allocator<int>; _ExtractKey = std::__detail::_Identity; _Equal = gold::Output_merge_data::Merge_data_eq; _Hash = gold::Output_merge_data::Merge_data_hash; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, true, true>; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::allocator_type = std::allocator<int>]’: /usr/include/c++/12/bits/hashtable.h:1148:32: required from ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_Hashtable(std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::size_type, const _Hash&, const _Equal&, const allocator_type&) [with _Key = int; _Value = int; _Alloc = std::allocator<int>; _ExtractKey = std::__detail::_Identity; _Equal = gold::Output_merge_data::Merge_data_eq; _Hash = gold::Output_merge_data::Merge_data_hash; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, true, true>; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::size_type = unsigned int; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::allocator_type = std::allocator<int>]’ /usr/include/c++/12/bits/unordered_set.h:149:9: required from ‘std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = int; _Hash = gold::Output_merge_data::Merge_data_hash; _Pred = gold::Output_merge_data::Merge_data_eq; _Alloc = std::allocator<int>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type = unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = gold::Output_merge_data::Merge_data_hash; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = gold::Output_merge_data::Merge_data_eq; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<int>]’ ../../gold/merge.h:283:7: required from here /usr/include/c++/12/bits/hashtable.h:487:42: error: use of deleted function ‘std::_Enable_special_members<false, true, true, true, true, true, std::__detail::_Hash_node_base>::_Enable_special_members()’ In file included from /usr/include/c++/12/bits/hashtable.h:36, from /usr/include/c++/12/unordered_set:46, from ../../gold/system.h:68, from ../../gold/gold.h:35, from ../../gold/ehframe.cc:23: /usr/include/c++/12/bits/enable_special_members.h:99:10: note: ‘std::_Enable_special_members<false, true, true, true, true, true, std::__detail::_Hash_node_base>::_Enable_special_members()’ is implicitly deleted because the default definition would be ill-formed: /usr/include/c++/12/bits/enable_special_members.h:99:10: error: use of deleted function ‘constexpr std::_Enable_default_constructor<false, _Tag>::_Enable_default_constructor() [with _Tag = std::__detail::_Hash_node_base]’ /usr/include/c++/12/bits/enable_special_members.h:112:15: note: declared here