Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gdbmi::Node::Node() is implicitly deleted because the default definition would be ill-formed #2769

Closed
UffeJakobsen opened this issue Jun 28, 2021 · 6 comments

Comments

@UffeJakobsen
Copy link
Contributor

Latest master (head) spews out lots of errors like these:

seen with gcc 11.1.0 and clang 12.0.0 (archlinux)

In file included from /root/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp: In member function ‘gdbmi::Node& gdbmi::Node::find_child(const wxString&) const’:
/tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:121:31: error: use of deleted function ‘gdbmi::Node::Node()’
  121 |             thread_local Node emptyNode;
      |                               ^~~~~~~~~
/tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:97:8: note: ‘gdbmi::Node::Node()’ is implicitly deleted because the default definition would be ill-formed:
   97 | struct Node {
      |        ^~~~

@eranif
Copy link
Owner

eranif commented Jun 28, 2021

Hopefully this is fixed now, I added a default constructor to gdbmi::Node

@eranif eranif closed this as completed Jun 28, 2021
@UffeJakobsen
Copy link
Contributor Author

Well - it just got a little further....

This is the complete output (unsure is I should attach it as a file ?)


 35%] Building CXX object Debugger/CMakeFiles/DebuggerGDB.dir/gdbmi.cpp.o
In file included from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp: In constructor ‘gdbmi::Node::Node()’:
/tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:118:12: error: use of deleted function ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map() [with _Key = wxString; _Tp = std::shared_ptr<gdbmi::Node>; _Hash = std::hash<wxString>; _Pred = std::equal_to<wxString>; _Alloc = std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >]’
  118 |     Node() {}
      |            ^
In file included from /usr/include/c++/11.1.0/unordered_map:47,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/unordered_map.h:141:7: note: ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map() [with _Key = wxString; _Tp = std::shared_ptr<gdbmi::Node>; _Hash = std::hash<wxString>; _Pred = std::equal_to<wxString>; _Alloc = std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >]’ is implicitly deleted because the default definition would be ill-formed:
  141 |       unordered_map() = default;
      |       ^~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/unordered_map.h:141:7: error: use of deleted function ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_Hashtable() [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _Alloc = std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<wxString>; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]’
In file included from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable.h:512:7: note: ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_Hashtable() [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _Alloc = std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<wxString>; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]’ is implicitly deleted because the default definition would be ill-formed:
  512 |       _Hashtable() = default;
      |       ^~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable.h:512:7: error: use of deleted function ‘std::__detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits>::_Hashtable_base() [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<wxString>; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _Traits = std::__detail::_Hashtable_traits<true, false, true>]’
In file included from /usr/include/c++/11.1.0/bits/hashtable.h:35,
                 from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1602:7: note: ‘std::__detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits>::_Hashtable_base() [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<wxString>; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _Traits = std::__detail::_Hashtable_traits<true, false, true>]’ is implicitly deleted because the default definition would be ill-formed:
 1602 |       _Hashtable_base() = default;
      |       ^~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1602:7: error: use of deleted function ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::_Hash_code_base() [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _ExtractKey = std::__detail::_Select1st; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; bool __cache_hash_code = true]’
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1209:7: note: ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::_Hash_code_base() [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _ExtractKey = std::__detail::_Select1st; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; bool __cache_hash_code = true]’ is implicitly deleted because the default definition would be ill-formed:
 1209 |       _Hash_code_base() = default;
      |       ^~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1209:7: error: use of deleted function ‘std::__detail::_Hashtable_ebo_helper<_Nm, _Tp, true>::_Hashtable_ebo_helper() [with int _Nm = 1; _Tp = std::hash<wxString>]’
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1126:7: note: ‘std::__detail::_Hashtable_ebo_helper<_Nm, _Tp, true>::_Hashtable_ebo_helper() [with int _Nm = 1; _Tp = std::hash<wxString>]’ is implicitly deleted because the default definition would be ill-formed:
 1126 |       _Hashtable_ebo_helper() = default;
      |       ^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1126:7: error: use of deleted function ‘std::hash<wxString>::hash()’
In file included from /usr/include/c++/11.1.0/bits/unique_ptr.h:39,
                 from /usr/include/c++/11.1.0/memory:76,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:4,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/functional_hash.h:102:12: note: ‘std::hash<wxString>::hash()’ is implicitly deleted because the default definition would be ill-formed:
  102 |     struct hash : __hash_enum<_Tp>
      |            ^~~~
/usr/include/c++/11.1.0/bits/functional_hash.h:102:12: error: no matching function for call to ‘std::__hash_enum<wxString, false>::__hash_enum()’
/usr/include/c++/11.1.0/bits/functional_hash.h:83:7: note: candidate: ‘std::__hash_enum<_Tp, <anonymous> >::__hash_enum(std::__hash_enum<_Tp, <anonymous> >&&) [with _Tp = wxString; bool <anonymous> = false]’
   83 |       __hash_enum(__hash_enum&&);
      |       ^~~~~~~~~~~
/usr/include/c++/11.1.0/bits/functional_hash.h:83:7: note:   candidate expects 1 argument, 0 provided
/usr/include/c++/11.1.0/bits/functional_hash.h:102:12: error: ‘std::__hash_enum<_Tp, <anonymous> >::~__hash_enum() [with _Tp = wxString; bool <anonymous> = false]’ is private within this context
  102 |     struct hash : __hash_enum<_Tp>
      |            ^~~~
/usr/include/c++/11.1.0/bits/functional_hash.h:84:7: note: declared private here
   84 |       ~__hash_enum();
      |       ^
In file included from /usr/include/c++/11.1.0/bits/hashtable.h:35,
                 from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1126:7: error: use of deleted function ‘std::hash<wxString>::~hash()’
 1126 |       _Hashtable_ebo_helper() = default;
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11.1.0/bits/unique_ptr.h:39,
                 from /usr/include/c++/11.1.0/memory:76,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:4,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/functional_hash.h:102:12: note: ‘std::hash<wxString>::~hash()’ is implicitly deleted because the default definition would be ill-formed:
  102 |     struct hash : __hash_enum<_Tp>
      |            ^~~~
/usr/include/c++/11.1.0/bits/functional_hash.h:102:12: error: ‘std::__hash_enum<_Tp, <anonymous> >::~__hash_enum() [with _Tp = wxString; bool <anonymous> = false]’ is private within this context
/usr/include/c++/11.1.0/bits/functional_hash.h:84:7: note: declared private here
   84 |       ~__hash_enum();
      |       ^
In file included from /usr/include/c++/11.1.0/bits/hashtable.h:35,
                 from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1209:7: error: use of deleted function ‘std::__detail::_Hashtable_ebo_helper<1, std::hash<wxString>, true>::~_Hashtable_ebo_helper()’
 1209 |       _Hash_code_base() = default;
      |       ^~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1123:12: note: ‘std::__detail::_Hashtable_ebo_helper<1, std::hash<wxString>, true>::~_Hashtable_ebo_helper()’ is implicitly deleted because the default definition would be ill-formed:
 1123 |     struct _Hashtable_ebo_helper<_Nm, _Tp, true>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1123:12: error: use of deleted function ‘std::hash<wxString>::~hash()’
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1602:7: error: use of deleted function ‘std::__detail::_Hash_code_base<wxString, std::pair<const wxString, std::shared_ptr<gdbmi::Node> >, std::__detail::_Select1st, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’
 1602 |       _Hashtable_base() = default;
      |       ^~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1187:12: note: ‘std::__detail::_Hash_code_base<wxString, std::pair<const wxString, std::shared_ptr<gdbmi::Node> >, std::__detail::_Select1st, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’ is implicitly deleted because the default definition would be ill-formed:
 1187 |     struct _Hash_code_base
      |            ^~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1187:12: error: use of deleted function ‘std::__detail::_Hashtable_ebo_helper<1, std::hash<wxString>, true>::~_Hashtable_ebo_helper()’
In file included from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable.h:512:7: error: use of deleted function ‘std::__detail::_Hashtable_base<wxString, std::pair<const wxString, std::shared_ptr<gdbmi::Node> >, std::__detail::_Select1st, std::equal_to<wxString>, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable_base()’
  512 |       _Hashtable() = default;
      |       ^~~~~~~~~~
In file included from /usr/include/c++/11.1.0/bits/hashtable.h:35,
                 from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1559:12: note: ‘std::__detail::_Hashtable_base<wxString, std::pair<const wxString, std::shared_ptr<gdbmi::Node> >, std::__detail::_Select1st, std::equal_to<wxString>, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable_base()’ is implicitly deleted because the default definition would be ill-formed:
 1559 |     struct _Hashtable_base
      |            ^~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1559:12: error: use of deleted function ‘std::__detail::_Hash_code_base<wxString, std::pair<const wxString, std::shared_ptr<gdbmi::Node> >, std::__detail::_Select1st, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’
In file included from /usr/include/c++/11.1.0/unordered_map:47,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/unordered_map.h: In constructor ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(std::initializer_list<typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::value_type>, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Key = wxString; _Tp = gdbmi::eToken; _Hash = std::hash<wxString>; _Pred = std::equal_to<wxString>; _Alloc = std::allocator<std::pair<const wxString, gdbmi::eToken> >; typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::value_type = std::pair<const wxString, gdbmi::eToken>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hasher = std::hash<wxString>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<wxString>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::pair<const wxString, gdbmi::eToken> >]’:
/usr/include/c++/11.1.0/bits/unordered_map.h:229:42: error: use of deleted function ‘std::hash<wxString>::hash()’
  229 |                     const hasher& __hf = hasher(),
      |                                          ^~~~~~~~
/tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:18:1: note:   when instantiating default argument for call to ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(std::initializer_list<typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::value_type>, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Key = wxString; _Tp = gdbmi::eToken; _Hash = std::hash<wxString>; _Pred = std::equal_to<wxString>; _Alloc = std::allocator<std::pair<const wxString, gdbmi::eToken> >; typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::value_type = std::pair<const wxString, gdbmi::eToken>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hasher = std::hash<wxString>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<wxString>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::pair<const wxString, gdbmi::eToken> >]’
   18 | };
      | ^
In file included from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable.h: In instantiation of ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::~_Hashtable() [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _Alloc = std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<wxString>; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]’:
/usr/include/c++/11.1.0/bits/unordered_map.h:102:11:   required from here
/usr/include/c++/11.1.0/bits/hashtable.h:1511:5: error: use of deleted function ‘std::__detail::_Hashtable_base<wxString, std::pair<const wxString, std::shared_ptr<gdbmi::Node> >, std::__detail::_Select1st, std::equal_to<wxString>, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable_base()’
 1511 |     }
      |     ^
In file included from /usr/include/c++/11.1.0/bits/hashtable.h:35,
                 from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable_policy.h: In instantiation of ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::__hash_code std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::_M_hash_code(const _Key&) const [with _Key = wxString; _Value = std::pair<const wxString, gdbmi::eToken>; _ExtractKey = std::__detail::_Select1st; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; bool __cache_hash_code = true; std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::__hash_code = long unsigned int]’:
/usr/include/c++/11.1.0/bits/hashtable_policy.h:701:45:   required from ‘std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::mapped_type& std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::operator[](const key_type&) [with _Key = wxString; _Pair = std::pair<const wxString, gdbmi::eToken>; _Alloc = std::allocator<std::pair<const wxString, gdbmi::eToken> >; _Equal = std::equal_to<wxString>; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>; std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::mapped_type = gdbmi::eToken; std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::key_type = wxString]’
/usr/include/c++/11.1.0/bits/unordered_map.h:980:20:   required from ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type& std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type&) [with _Key = wxString; _Tp = gdbmi::eToken; _Hash = std::hash<wxString>; _Pred = std::equal_to<wxString>; _Alloc = std::allocator<std::pair<const wxString, gdbmi::eToken> >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type = gdbmi::eToken; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_type = wxString]’
/tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:134:33:   required from here
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1215:23: error: static assertion failed: hash function must be invocable with an argument of key type
 1215 |         static_assert(__is_invocable<const _Hash&, const _Key&>{},
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1215:23: note: ‘std::__is_invocable<const std::hash<wxString>&, const wxString&>()’ evaluates to false
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1217:25: error: no match for call to ‘(const std::hash<wxString>) (const wxString&)’
 1217 |         return _M_hash()(__k);
      |                ~~~~~~~~~^~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h: In instantiation of ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::__hash_code std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::_M_hash_code(const _Key&) const [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _ExtractKey = std::__detail::_Select1st; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; bool __cache_hash_code = true; std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::__hash_code = long unsigned int]’:
/usr/include/c++/11.1.0/bits/hashtable.h:1585:46:   required from ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::const_iterator std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::find(const key_type&) const [with _Key = wxString; _Value = std::pair<const wxString, std::shared_ptr<gdbmi::Node> >; _Alloc = std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<wxString>; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::const_iterator = std::__detail::_Insert_base<wxString, std::pair<const wxString, std::shared_ptr<gdbmi::Node> >, std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >, std::__detail::_Select1st, std::equal_to<wxString>, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::const_iterator; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::key_type = wxString]’
/usr/include/c++/11.1.0/bits/unordered_map.h:880:25:   required from ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::find(const key_type&) const [with _Key = wxString; _Tp = std::shared_ptr<gdbmi::Node>; _Hash = std::hash<wxString>; _Pred = std::equal_to<wxString>; _Alloc = std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator = std::__detail::_Insert_base<wxString, std::pair<const wxString, std::shared_ptr<gdbmi::Node> >, std::allocator<std::pair<const wxString, std::shared_ptr<gdbmi::Node> > >, std::__detail::_Select1st, std::equal_to<wxString>, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::const_iterator; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_type = wxString]’
/tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:406:31:   required from here
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1215:23: error: static assertion failed: hash function must be invocable with an argument of key type
 1215 |         static_assert(__is_invocable<const _Hash&, const _Key&>{},
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1215:23: note: ‘std::__is_invocable<const std::hash<wxString>&, const wxString&>()’ evaluates to false
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1217:25: error: no match for call to ‘(const std::hash<wxString>) (const wxString&)’
 1217 |         return _M_hash()(__k);
      |                ~~~~~~~~~^~~~~
In file included from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable.h: In instantiation of ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::~_Hashtable() [with _Key = wxString; _Value = std::pair<const wxString, gdbmi::eToken>; _Alloc = std::allocator<std::pair<const wxString, gdbmi::eToken> >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<wxString>; _Hash = std::hash<wxString>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]’:
/usr/include/c++/11.1.0/bits/unordered_map.h:102:11:   required from here
/usr/include/c++/11.1.0/bits/hashtable.h:1511:5: error: use of deleted function ‘std::__detail::_Hashtable_base<wxString, std::pair<const wxString, gdbmi::eToken>, std::__detail::_Select1st, std::equal_to<wxString>, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable_base()’
 1511 |     }
      |     ^
In file included from /usr/include/c++/11.1.0/bits/hashtable.h:35,
                 from /usr/include/c++/11.1.0/unordered_map:46,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.hpp:7,
                 from /tmp/uj.dir/codelite.git/Debugger/gdbmi.cpp:1:
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1559:12: note: ‘std::__detail::_Hashtable_base<wxString, std::pair<const wxString, gdbmi::eToken>, std::__detail::_Select1st, std::equal_to<wxString>, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable_base()’ is implicitly deleted because the default definition would be ill-formed:
 1559 |     struct _Hashtable_base
      |            ^~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1559:12: error: use of deleted function ‘std::__detail::_Hash_code_base<wxString, std::pair<const wxString, gdbmi::eToken>, std::__detail::_Select1st, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1187:12: note: ‘std::__detail::_Hash_code_base<wxString, std::pair<const wxString, gdbmi::eToken>, std::__detail::_Select1st, std::hash<wxString>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’ is implicitly deleted because the default definition would be ill-formed:
 1187 |     struct _Hash_code_base
      |            ^~~~~~~~~~~~~~~
/usr/include/c++/11.1.0/bits/hashtable_policy.h:1187:12: error: use of deleted function ‘std::__detail::_Hashtable_ebo_helper<1, std::hash<wxString>, true>::~_Hashtable_ebo_helper()’
gmake[2]: *** [Debugger/CMakeFiles/DebuggerGDB.dir/build.make:132: Debugger/CMakeFiles/DebuggerGDB.dir/gdbmi.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1256: Debugger/CMakeFiles/DebuggerGDB.dir/all] Error 2

@eranif
Copy link
Owner

eranif commented Jun 30, 2021

can you try with the latest commit?

@UffeJakobsen
Copy link
Contributor Author

It compiles now - thanks :-)

@barracuda156
Copy link

can you try with the latest commit?

@eranif Do you recall how that error was fixed? I am getting it with nodejs12 and gcc12 now.

@barracuda156
Copy link

Problem still unsolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants