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

Reply via email to