[quickbook] Failure building on trunk

Trying to generate some documentation using the latest on Boost trunk, the build of quickbook works with gcc but failed using toolset-msvc-10.0 with: "compile-c-c++ C:\Programming\VersionControl\boost\bin.v2\tools\quickbook\src\msvc-10.0\release\link-static\threading-multi\id_generator.obj id_generator.cpp C:\Programming\VersionControl\boost\boost/unordered/detail/buckets.hpp(220) : error C2668: 'boost::addressof' : ambiguous call to overloaded function C:\Programming\VersionControl\boost\boost/utility/addressof.hpp(51): could be 'T *boost::addressof<boost::unordered::detail::bucket<A>>(T &)' with [ T=boost::unordered::detail::bucket<std::allocator<std::pair<const std::string,quickbook::id_generator::id>>>, A=std::allocator<std::pair<const std::string,quickbook::id_generator::id>> ] C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\xmemory(109): or '_Ty *std::addressof<boost::unordered::detail::bucket<A>>(_Ty &)' [found using argument-dependent lookup] with [ _Ty=boost::unordered::detail::bucket<std::allocator<std::pair<const std::string,quickbook::id_generator::id>>>, A=std::allocator<std::pair<const std::string,quickbook::id_generator::id>> ] while trying to match the argument list '(boost::unordered::detail::bucket<A>)' with [ A=std::allocator<std::pair<const std::string,quickbook::id_generator::id>> ] C:\Programming\VersionControl\boost\boost/unordered/detail/buckets.hpp(207) : while compiling class template member function 'void boost::unordered::detail::buckets<A,Unique>::delete_buckets(void)' with [ A=std::allocator<std::pair<const std::string,quickbook::id_generator::id>>, Unique=true ] C:\Programming\VersionControl\boost\boost/unordered/detail/table.hpp(564) : see reference to class template instantiation 'boost::unordered::detail::buckets<A,Unique>' being compiled with [ A=std::allocator<std::pair<const std::string,quickbook::id_generator::id>>, Unique=true ] C:\Programming\VersionControl\boost\boost/unordered/detail/unique.hpp(392) : see reference to class template instantiation 'boost::unordered::detail::types<K,V,H,P,A,E,Unique>' being compiled with [ K=std::string, V=std::pair<const std::string,quickbook::id_generator::id>, H=boost::hash<std::string>, P=std::equal_to<std::string>, A=std::allocator<std::pair<const std::string,quickbook::id_generator::id>>, E=boost::unordered::detail::map_extractor<std::string,std::pair<const std::string,quickbook::id_generator::id>>, Unique=true ] C:\Programming\VersionControl\boost\boost/unordered/unordered_map.hpp(63) : see reference to class template instantiation 'boost::unordered::detail::map<K,H,P,A>' being compiled with [ K=std::string, H=boost::hash<std::string>, P=std::equal_to<std::string>, A=std::allocator<std::pair<const std::string,quickbook::id_generator::id>> ] c:\programming\versioncontrol\boost\tools\quickbook\src\id_generator.hpp(52) : see reference to class template instantiation 'boost::unordered::unordered_map<K,T>' being compiled with [ K=std::string, T=quickbook::id_generator::id ] call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul cl /Zm800 -nologo @"C:\Programming\VersionControl\boost\bin.v2\tools\quickbook\src\msvc-10.0\release\link-static\threading-multi\id_generator.obj.rsp" ...failed compile-c-c++ C:\Programming\VersionControl\boost\bin.v2\tools\quickbook\src\msvc-10.0\release\link-static\threading-multi\id_generator.obj..."

On 26 August 2011 15:36, Edward Diener <eldiener@tropicsoft.com> wrote:
Trying to generate some documentation using the latest on Boost trunk, the build of quickbook works with gcc but failed using toolset-msvc-10.0 with:
You should use a stable version.
*std::addressof<boost::unordered::detail::bucket<A>>(_Ty &)' [found using argument-dependent lookup]
All the calls to addressof in unordered detail have been fully qualified since r73690.

On 8/26/2011 4:47 PM, Daniel James wrote:
On 26 August 2011 15:36, Edward Diener<eldiener@tropicsoft.com> wrote:
Trying to generate some documentation using the latest on Boost trunk, the build of quickbook works with gcc but failed using toolset-msvc-10.0 with:
You should use a stable version.
I test off the Boost trunk and generate my documentation off the Boost trunk. Maybe it is right to do neither, but I see no reason why I should not do so.
*std::addressof<boost::unordered::detail::bucket<A>>(_Ty&)' [found using argument-dependent lookup]
All the calls to addressof in unordered detail have been fully qualified since r73690.
I am not claiming this is a quickbook problem. Maybe someone changed unordered detail and broke it. Please don't shoot the messenger of a problem with Boost trunk code <g>.

On 8/26/2011 4:47 PM, Daniel James wrote:
On 26 August 2011 15:36, Edward Diener<eldiener@tropicsoft.com> wrote:
Trying to generate some documentation using the latest on Boost trunk, the build of quickbook works with gcc but failed using toolset-msvc-10.0 with:
You should use a stable version.
*std::addressof<boost::unordered::detail::bucket<A>>(_Ty&)' [found using argument-dependent lookup]
All the calls to addressof in unordered detail have been fully qualified since r73690.
Do you know what is causing this error in VC10 ?

On 08/27/2011 04:12 PM, Edward Diener wrote:
On 8/26/2011 4:47 PM, Daniel James wrote:
On 26 August 2011 15:36, Edward Diener<eldiener@tropicsoft.com> wrote:
Trying to generate some documentation using the latest on Boost trunk, the build of quickbook works with gcc but failed using toolset-msvc-10.0 with:
You should use a stable version.
*std::addressof<boost::unordered::detail::bucket<A>>(_Ty&)' [found using argument-dependent lookup]
All the calls to addressof in unordered detail have been fully qualified since r73690.
Do you know what is causing this error in VC10 ?
ADL + the fact that on VC10 the file that defining std::addressof gets included.

On 8/26/2011 4:47 PM, Daniel James wrote:
On 26 August 2011 15:36, Edward Diener<eldiener@tropicsoft.com> wrote:
Trying to generate some documentation using the latest on Boost trunk, the build of quickbook works with gcc but failed using toolset-msvc-10.0 with:
You should use a stable version.
*std::addressof<boost::unordered::detail::bucket<A>>(_Ty&)' [found using argument-dependent lookup]
All the calls to addressof in unordered detail have been fully qualified since r73690.
Thanks for fixing this.
participants (3)
-
Daniel James
-
Edward Diener
-
Mathias Gaunard