Subject: [Boost-bugs] [Boost C++ Libraries] #10732: clang-3.5 splay_set compiling error
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-11-01 10:10:05
#10732: clang-3.5 splay_set compiling error
-------------------------------------------+------------------------
Reporter: khizmax@⦠| Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: intrusive
Version: Boost 1.57.0 | Severity: Problem
Keywords: splay_set default_bstree_hook |
-------------------------------------------+------------------------
When compiling libcds project, the following error is encountered for
clang-3.4, clang-3.5 64bit:
{{{
In file included from
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/splay_set.hpp:21:
In file included from
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/splaytree.hpp:26:
In file included from
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/bstree.hpp:25:
In file included from
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/bs_set_hook.hpp:25:
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/options.hpp:54:48:
error: no type named 'default_bstree_hook' in
'set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> >'
BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(default_bstree_hook);
}}}
The same error is observed or boost 1.55, 1.56, 1.57 beta1.
Clang-3.3 and gcc-4.8, gcc-4.9 64bit is ok.
Environment: ubuntu-14.04 amd64
Compiler output:
{{{
clang-3.5 -std=c++11 -c -pedantic -Wall -mcx16 -march=native -DNDEBUG -O3
-fno-strict-aliasing -m64 -fPIC -march=native
-I/home/khizmax/works/lib/boost_1_57_0_b1 -D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64 -I.. -I../tests/test-hdr
-I../tests ../tests/test-
hdr/set/hdr_intrusive_refinable_hashset_splayset.cpp -o ../tests/test-
hdr/set/hdr_intrusive_refinable_hashset_splayset.o
In file included from ../tests/test-
hdr/set/hdr_intrusive_refinable_hashset_splayset.cpp:4:
In file included from ../cds/intrusive/striped_set/boost_splay_set.h:6:
In file included from
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/splay_set.hpp:21:
In file included from
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/splaytree.hpp:26:
In file included from
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/bstree.hpp:25:
In file included from
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/bs_set_hook.hpp:25:
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/options.hpp:54:48:
error: no type named 'default_bstree_hook' in
'set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> >'
BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(default_bstree_hook);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/options.hpp:46:27:
note: expanded from macro 'BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION'
{ typedef typename T::BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER type; };\
^
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/detail/mpl.hpp:139:24:
note: in instantiation of template class
'boost::intrusive::detail::default_bstree_hook::apply<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> > >' requested here
typedef typename F::template apply<Param>::type type;
^
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/detail/mpl.hpp:203:7:
note: in instantiation of template class
'boost::intrusive::detail::apply<boost::intrusive::detail::default_bstree_hook,
set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> > >' requested here
: if_c<C,F1,F2>::type
^
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/options.hpp:145:21:
note: in instantiation of template class
'boost::intrusive::detail::eval_if_c<true,
boost::intrusive::detail::apply<boost::intrusive::detail::default_bstree_hook,
set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> > >,
boost::intrusive::detail::identity<boost::intrusive::detail::default_bstree_hook>
>' requested here
typedef typename eval_if_c
^
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/splay_set.hpp:440:29:
note: in instantiation of template class
'boost::intrusive::detail::get_value_traits<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> >, boost::intrusive::detail::default_bstree_hook>' requested
here
typedef typename detail::get_value_traits
^
/home/khizmax/works/lib/boost_1_57_0_b1/boost/intrusive/splay_set.hpp:463:14:
note: in instantiation of template class
'boost::intrusive::make_splay_set<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> >,
boost::intrusive::compare<set::IntrusiveStripedSetHdrTest::less<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> > > >, void, void, void, void>' requested here
: public make_splay_set<T,
^
../cds/intrusive/striped_set/adapter.h:202:34: note: in instantiation of
template class
'boost::intrusive::splay_set<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> >,
boost::intrusive::compare<set::IntrusiveStripedSetHdrTest::less<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> > > >, void, void, void, void>' requested here
typedef typename container_type::value_type value_type
; ///< value type stored in the container
^
../cds/intrusive/striped_set.h:279:26: note: in instantiation of template
class
'cds::intrusive::striped_set::details::boost_intrusive_set_adapter<boost::intrusive::splay_set<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> >,
boost::intrusive::compare<set::IntrusiveStripedSetHdrTest::less<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> > > >, void, void, void, void> >' requested here
typedef typename bucket_type::value_type value_type ; ///<
value type stored in the set
^
../tests/test-hdr/set/hdr_intrusive_refinable_hashset_splayset.cpp:56:18:
note: in instantiation of template class
'cds::intrusive::StripedSet<boost::intrusive::splay_set<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> >,
boost::intrusive::compare<set::IntrusiveStripedSetHdrTest::less<set::IntrusiveStripedSetHdrTest::base_item<boost::intrusive::bs_set_member_hook<void,
void, void> > > >, void, void, void, void>,
cds::opt::mutex_policy<cds::intrusive::striped_set::refinable<std::recursive_mutex,
cds::backoff::yield, std::allocator<int> > >,
cds::opt::hash<set::IntrusiveStripedSetHdrTest::hash_int>,
cds::opt::resizing_policy<cds::intrusive::striped_set::single_bucket_size_threshold<0>
> >' requested here
set_type s( 64,
ci::striped_set::single_bucket_size_threshold<0>(256) );
^
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10732> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC