Opened 2 months ago
#70908 new defect
xqilla fails to build: error: static assertion failed: comparison object must be invocable as const
Reported by: | barracuda156 | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.10.1 |
Keywords: | Cc: | ||
Port: | xqilla |
Description
In file included from /opt/local/include/gcc14/c++/set:62, from ./include/xqilla/ast/XQDocumentOrder.hpp:27, from src/ast/XQDocumentOrder.cpp:22: /opt/local/include/gcc14/c++/bits/stl_tree.h: In instantiation of 'static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(_Const_Link_type) [with _Key = RefCountPointer<const Node>; _Val = RefCountPointer<const Node>; _KeyOfValue = std::_Identity<RefCountPointer<const Node> >; _Compare = UniqueNodesResult::uniqueLessThanCompareFn; _Alloc = std::allocator<RefCountPointer<const Node> >; _Const_Link_type = const std::_Rb_tree_node<RefCountPointer<const Node> >*]': /opt/local/include/gcc14/c++/bits/stl_tree.h:2114:47: required from 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = RefCountPointer<const Node>; _Val = RefCountPointer<const Node>; _KeyOfValue = std::_Identity<RefCountPointer<const Node> >; _Compare = UniqueNodesResult::uniqueLessThanCompareFn; _Alloc = std::allocator<RefCountPointer<const Node> >; key_type = RefCountPointer<const Node>]' 2114 | __comp = _M_impl._M_key_compare(__k, _S_key(__x)); | ~~~~~~^~~~~ /opt/local/include/gcc14/c++/bits/stl_tree.h:2167:4: required from 'std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(_Arg&&) [with _Arg = RefCountPointer<const Node>; _Key = RefCountPointer<const Node>; _Val = RefCountPointer<const Node>; _KeyOfValue = std::_Identity<RefCountPointer<const Node> >; _Compare = UniqueNodesResult::uniqueLessThanCompareFn; _Alloc = std::allocator<RefCountPointer<const Node> >]' 2167 | = _M_get_insert_unique_pos(_KeyOfValue()(__v)); | ^~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/gcc14/c++/bits/stl_set.h:523:25: required from 'std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(value_type&&) [with _Key = RefCountPointer<const Node>; _Compare = UniqueNodesResult::uniqueLessThanCompareFn; _Alloc = std::allocator<RefCountPointer<const Node> >; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<RefCountPointer<const Node>, RefCountPointer<const Node>, std::_Identity<RefCountPointer<const Node> >, UniqueNodesResult::uniqueLessThanCompareFn, std::allocator<RefCountPointer<const Node> > >::const_iterator; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other = std::allocator<RefCountPointer<const Node> >; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<RefCountPointer<const Node> >, RefCountPointer<const Node> >::rebind<RefCountPointer<const Node> >; typename _Allocator::value_type = RefCountPointer<const Node>; value_type = RefCountPointer<const Node>]' 523 | _M_t._M_insert_unique(std::move(__x)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ src/ast/XQDocumentOrder.cpp:104:22: required from here 104 | if(noDups_.insert(result).second) break; | ~~~~~~~~~~~~~~^~~~~~~~ /opt/local/include/gcc14/c++/bits/stl_tree.h:768:15: error: static assertion failed: comparison object must be invocable as const 768 | is_invocable_v<const _Compare&, const _Key&, const _Key&>, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/gcc14/c++/bits/stl_tree.h:768:15: note: 'std::is_invocable_v<const UniqueNodesResult::uniqueLessThanCompareFn&, const RefCountPointer<const Node>&, const RefCountPointer<const Node>&>' evaluates to false make[1]: *** [XQDocumentOrder.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... mv -f .deps/ConvertFunctionArg.Tpo .deps/ConvertFunctionArg.Plo mv -f .deps/XQTypeswitch.Tpo .deps/XQTypeswitch.Plo mv -f .deps/XQValidate.Tpo .deps/XQValidate.Plo libtool: compile: ccache /opt/local/bin/g++-mp-14 -DHAVE_CONFIG_H -I. -I./src/config -I./include/ -I/opt/local/include -I./src/lexer/ -I/opt/local/include -isystem/opt/local/include -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -ftemplate-depth-50 -MT XQPredicate.lo -MD -MP -MF .deps/XQPredicate.Tpo -c src/ast/XQPredicate.cpp -o XQPredicate.o >/dev/null 2>&1 In file included from src/ast/XQReturn.cpp:26: ./include/xqilla/utils/XPath2Utils.hpp: In static member function 'static bool XPath2Utils::equals(const XMLCh*, const XMLCh*)': ./include/xqilla/utils/XPath2Utils.hpp:107:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 107 | register const XMLCh* psz1 = str1; | ^~~~ ./include/xqilla/utils/XPath2Utils.hpp:108:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 108 | register const XMLCh* psz2 = str2; | ^~~~ ./include/xqilla/utils/XPath2Utils.hpp: In static member function 'static int XPath2Utils::compare(const XMLCh*, const XMLCh*)': ./include/xqilla/utils/XPath2Utils.hpp:128:16: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 128 | register int cmp; | ^~~ libtool: compile: ccache /opt/local/bin/g++-mp-14 -DHAVE_CONFIG_H -I. -I./src/config -I./include/ -I/opt/local/include -I./src/lexer/ -I/opt/local/include -isystem/opt/local/include -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -ftemplate-depth-50 -MT XQReturn.lo -MD -MP -MF .deps/XQReturn.Tpo -c src/ast/XQReturn.cpp -o XQReturn.o >/dev/null 2>&1 mv -f .deps/XQPredicate.Tpo .deps/XQPredicate.Plo mv -f .deps/XQReturn.Tpo .deps/XQReturn.Plo make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_xqilla/xqilla/work/XQilla-2.3.4' make: *** [all-recursive] Error 1
Note: See
TracTickets for help on using
tickets.