Opened 8 years ago
Last modified 8 years ago
#10026 new Bugs
Building Boost with #define BOOST_SP_ENABLE_DEBUG_HOOKS generates compile error C2665 in Visual C++ 2012
Reported by: | Owned by: | Peter Dimov | |
---|---|---|---|
Milestone: | To Be Determined | Component: | smart_ptr |
Version: | Boost 1.55.0 | Severity: | Problem |
Keywords: | Cc: | tm@… |
Description
I ran the following command from a Visual C++ command window.
b2 toolset=msvc-11.0 address-model=32 variant=debug link=static threading=multi runtime-link=shared --build-type=complete define=BOOST_SP_ENABLE_DEBUG_HOOKS
I am trying to compile the Boost Libraries with the debug hooks in. Is this a Visual C++ 2012 compiler issue as I also had problems with compilation on Visual C++ 2010. Any ideas? Thanks. I have tried this compilation on both Windows 7 and Windows 8.1.
compile-c-c++ bin.v2\libs\thread\build\msvc-11.0\release\address-model-32\link-static\threading-multi\win32\thread.obj thread.cpp .\boost/smart_ptr/detail/sp_counted_impl.hpp(69) : error C2665: 'boost::sp_scalar_constructor_hook' : none of the 2 overloads could convert all the argument types
.\boost/smart_ptr/detail/sp_counted_impl.hpp(45): could be 'void boost::sp_scalar_constructor_hook(void *,size_t,void *)' while trying to match the argument list '(const boost::exception_detail::clone_base *, unsigned int, boost::detail::sp_counted_impl_p<X> *const )' with [
X=const boost::exception_detail::clone_base
] .\boost/smart_ptr/detail/sp_counted_impl.hpp(66) : while compiling class template member function 'boost::detail::sp_counted_impl_p<X>::sp_counted_impl_p(X *)' with [
X=const boost::exception_detail::clone_base
] .\boost/smart_ptr/detail/shared_count.hpp(130) : see reference to function template instantiation 'boost::detail::sp_counted_impl_p<X>::sp_counted_impl_p(X *)' being compiled with [
X=const boost::exception_detail::clone_base
] .\boost/smart_ptr/detail/shared_count.hpp(130) : see reference to class template instantiation 'boost::detail::sp_counted_impl_p<X>' being compiled with [
X=const boost::exception_detail::clone_base
] .\boost/smart_ptr/shared_ptr.hpp(276) : see reference to function template instantiation 'boost::detail::shared_count::shared_count<Y>(Y *)' being compiled with [
Y=const boost::exception_detail::clone_base
] .\boost/smart_ptr/shared_ptr.hpp(354) : see reference to function template instantiation 'void boost::detail::sp_pointer_construct<const boost::exception_detail::clone_base,Y>(boost::shared_ptr<T> *,Y *,boost::detail::shared_count &)' being compiled with [
Y=const boost::exception_detail::clone_base, T=const boost::exception_detail::clone_base
] .\boost/exception/detail/exception_ptr.hpp(313) : see reference to function template instantiation 'boost::shared_ptr<T>::shared_ptr<const boost::exception_detail::clone_base>(Y *)' being compiled with [
T=const boost::exception_detail::clone_base, Y=const boost::exception_detail::clone_base
] .\boost/exception/detail/exception_ptr.hpp(313) : see reference to function template instantiation 'boost::shared_ptr<T>::shared_ptr<const boost::exception_detail::clone_base>(Y *)' being compiled with [
T=const boost::exception_detail::clone_base, Y=const boost::exception_detail::clone_base
]
Change History (2)
comment:1 by , 8 years ago
Cc: | added |
---|
comment:2 by , 8 years ago
Component: | Building Boost → smart_ptr |
---|---|
Owner: | set to |
Also seen similar behavior in our codebase: