
AMDG Niels Dekker - mail address until 2008-12-31 wrote:
David Abrahams wrote:
Try replacing the using declaration with a using directive in swap.hpp Appears to work for GCC.
Thanks, Dave. Unfortunately for MSVC, most of the tests would be broken, when doing so!
It doesn't work at all here. See attached. Dave, what exactly did you try? In Christ, Steven Watanabe Steven@D3RTHVC1 /cygdrive/c/boost/trunk/libs/utility/swap/test $ bjam gcc-3.4.4 gcc-4.2.3 gcc-4.3.0 msvc-8.0express msvc-9.0express como-4.3.1 0.1beta2 test_adl_barrier warning: Graph library does not contain optional GraphML reader. note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the note: directories containing the Expat headers and libraries, respectively. warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. Building Boost.Regex with the optional Unicode/ICU support disabled. Please refer to the Boost.Regex documentation for more information (don't panic: this is a strictly optional feature). ...patience... ...found 775 targets... ...updating 24 targets... gcc.compile.c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\ gcc-3.4.4\debug\test_adl_barrier.o test_adl_barrier.cpp: In function `int test_main(int, char**)': test_adl_barrier.cpp:29: error: no matching function for call to `swap(boost::sw ap_test_class&, boost::swap_test_class&)' ../../../../boost/test/test_tools.hpp: In function `boost::test_tools::predicate _result boost::test_tools::tt_detail::equal_impl(const Left&, const Right&) [wit h Left = unsigned int, Right = int]': ../../../../boost/test/test_tools.hpp:560: instantiated from `boost::test_tool s::predicate_result boost::test_tools::tt_detail::equal_impl_frwd::call_impl(con st Left&, const Right&, mpl_::false_) const [with Left = unsigned int, Right = i nt]' ../../../../boost/test/test_tools.hpp:575: instantiated from `boost::test_tool s::predicate_result boost::test_tools::tt_detail::equal_impl_frwd::operator()(co nst Left&, const Right&) const [with Left = unsigned int, Right = int]' ../../../../boost/test/test_tools.hpp:523: instantiated from `bool boost::test _tools::tt_detail::check_frwd(Pred, const boost::unit_test::lazy_ostream&, boost ::test_tools::const_string, size_t, boost::test_tools::tt_detail::tool_level, bo ost::test_tools::tt_detail::check_type, const Arg0&, const char*, const Arg1&, c onst char*) [with Pred = boost::test_tools::tt_detail::equal_impl_frwd, Arg0 = u nsigned int, Arg1 = int]' test_adl_barrier.cpp:31: instantiated from here ../../../../boost/test/test_tools.hpp:536: warning: comparison between signed an d unsigned integer expressions "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 - DBOOST_TEST_NO_AUTO_LINK=1 -I"..\..\..\.." -c -o "..\..\..\..\bin.v2\libs\utili ty\swap\test\test_adl_barrier.test\gcc-3.4.4\debug\test_adl_barrier.o" "test_adl _barrier.cpp" ...failed gcc.compile.c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_bar rier.test\gcc-3.4.4\debug\test_adl_barrier.o... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\gcc -3.4.4\debug>test_adl_barrier.exe for lack of <p..\..\..\..\bin.v2\libs\utility\ swap\test\test_adl_barrier.test\gcc-3.4.4\debug>test_adl_barrier.o... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\gcc -3.4.4\debug>test_adl_barrier.run for lack of <p..\..\..\..\bin.v2\libs\utility\ swap\test\test_adl_barrier.test\gcc-3.4.4\debug>test_adl_barrier.exe... gcc.compile.c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\ gcc-4.2.3\debug\test_adl_barrier.o test_adl_barrier.cpp: In function 'int test_main(int, char**)': test_adl_barrier.cpp:29: error: no matching function for call to 'swap(boost::sw ap_test_class&, boost::swap_test_class&)' ../../../../boost/test/test_tools.hpp: In function 'boost::test_tools::predicate _result boost::test_tools::tt_detail::equal_impl(const Left&, const Right&) [wit h Left = unsigned int, Right = int]': ../../../../boost/test/test_tools.hpp:560: instantiated from 'boost::test_tool s::predicate_result boost::test_tools::tt_detail::equal_impl_frwd::call_impl(con st Left&, const Right&, mpl_::false_) const [with Left = unsigned int, Right = i nt]' ../../../../boost/test/test_tools.hpp:575: instantiated from 'boost::test_tool s::predicate_result boost::test_tools::tt_detail::equal_impl_frwd::operator()(co nst Left&, const Right&) const [with Left = unsigned int, Right = int]' ../../../../boost/test/test_tools.hpp:523: instantiated from 'bool boost::test _tools::tt_detail::check_frwd(Pred, const boost::unit_test::lazy_ostream&, boost ::test_tools::const_string, size_t, boost::test_tools::tt_detail::tool_level, bo ost::test_tools::tt_detail::check_type, const Arg0&, const char*, const Arg1&, c onst char*) [with Pred = boost::test_tools::tt_detail::equal_impl_frwd, Arg0 = u nsigned int, Arg1 = int]' test_adl_barrier.cpp:31: instantiated from here ../../../../boost/test/test_tools.hpp:536: warning: comparison between signed an d unsigned integer expressions ../../../../boost/test/floating_point_comparison.hpp: At global scope: ../../../../boost/test/floating_point_comparison.hpp:224: warning: 'boost::test_ tools::<unnamed>::check_is_close' defined but not used ../../../../boost/test/floating_point_comparison.hpp:246: warning: 'boost::test_ tools::<unnamed>::check_is_small' defined but not used "g++-4.2.3" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_L IB=1 -DBOOST_TEST_NO_AUTO_LINK=1 -I"..\..\..\.." -c -o "..\..\..\..\bin.v2\libs \utility\swap\test\test_adl_barrier.test\gcc-4.2.3\debug\test_adl_barrier.o" "te st_adl_barrier.cpp" ...failed gcc.compile.c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_bar rier.test\gcc-4.2.3\debug\test_adl_barrier.o... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\gcc -4.2.3\debug>test_adl_barrier.exe for lack of <p..\..\..\..\bin.v2\libs\utility\ swap\test\test_adl_barrier.test\gcc-4.2.3\debug>test_adl_barrier.o... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\gcc -4.2.3\debug>test_adl_barrier.run for lack of <p..\..\..\..\bin.v2\libs\utility\ swap\test\test_adl_barrier.test\gcc-4.2.3\debug>test_adl_barrier.exe... gcc.compile.c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\ gcc-4.3.0\debug\test_adl_barrier.o test_adl_barrier.cpp: In function 'int test_main(int, char**)': test_adl_barrier.cpp:29: error: no matching function for call to 'swap(boost::sw ap_test_class&, boost::swap_test_class&)' ..\..\..\../boost/test/test_tools.hpp: In function 'boost::test_tools::predicate _result boost::test_tools::tt_detail::equal_impl(const Left&, const Right&) [wit h Left = unsigned int, Right = int]': ..\..\..\../boost/test/test_tools.hpp:560: instantiated from 'boost::test_tool s::predicate_result boost::test_tools::tt_detail::equal_impl_frwd::call_impl(con st Left&, const Right&, mpl_::false_) const [with Left = unsigned int, Right = i nt]' ..\..\..\../boost/test/test_tools.hpp:575: instantiated from 'boost::test_tool s::predicate_result boost::test_tools::tt_detail::equal_impl_frwd::operator()(co nst Left&, const Right&) const [with Left = unsigned int, Right = int]' ..\..\..\../boost/test/test_tools.hpp:523: instantiated from 'bool boost::test _tools::tt_detail::check_frwd(Pred, const boost::unit_test::lazy_ostream&, boost ::test_tools::const_string, size_t, boost::test_tools::tt_detail::tool_level, bo ost::test_tools::tt_detail::check_type, const Arg0&, const char*, const Arg1&, c onst char*) [with Pred = boost::test_tools::tt_detail::equal_impl_frwd, Arg0 = u nsigned int, Arg1 = int]' test_adl_barrier.cpp:31: instantiated from here ..\..\..\../boost/test/test_tools.hpp:536: warning: comparison between signed an d unsigned integer expressions ..\..\..\../boost/test/floating_point_comparison.hpp: At global scope: ..\..\..\../boost/test/floating_point_comparison.hpp:224: warning: 'boost::test_ tools::<unnamed>::check_is_close' defined but not used ..\..\..\../boost/test/floating_point_comparison.hpp:246: warning: 'boost::test_ tools::<unnamed>::check_is_small' defined but not used "g++-4.3.0" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_L IB=1 -DBOOST_TEST_NO_AUTO_LINK=1 -I"..\..\..\.." -c -o "..\..\..\..\bin.v2\libs \utility\swap\test\test_adl_barrier.test\gcc-4.3.0\debug\test_adl_barrier.o" "te st_adl_barrier.cpp" ...failed gcc.compile.c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_bar rier.test\gcc-4.3.0\debug\test_adl_barrier.o... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\gcc -4.3.0\debug>test_adl_barrier.exe for lack of <p..\..\..\..\bin.v2\libs\utility\ swap\test\test_adl_barrier.test\gcc-4.3.0\debug>test_adl_barrier.o... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\gcc -4.3.0\debug>test_adl_barrier.run for lack of <p..\..\..\..\bin.v2\libs\utility\ swap\test\test_adl_barrier.test\gcc-4.3.0\debug>test_adl_barrier.exe... compile-c-c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\ms vc-8.0express\debug\threading-multi\test_adl_barrier.obj test_adl_barrier.cpp test_adl_barrier.cpp(29) : error C2784: 'void boost::swap(boost::shared_ptr<T> & ,boost::shared_ptr<T> &)' : could not deduce template argument for 'boost::share d_ptr<T> &' from 'boost::swap_test_class' ..\..\..\..\boost/shared_ptr.hpp(568) : see declaration of 'boost::swap' test_adl_barrier.cpp(29) : error C2784: 'void boost::swap(boost::intrusive_ptr<T
&,boost::intrusive_ptr<T> &)' : could not deduce template argument for 'boost: :intrusive_ptr<T> &' from 'boost::swap_test_class' ..\..\..\..\boost/intrusive_ptr.hpp(243) : see declaration of 'boost::sw ap'
call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86 >nul cl /Zm800 -nologo @"..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.t est\msvc-8.0express\debug\threading-multi\test_adl_barrier.obj.rsp" ...failed compile-c-c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barri er.test\msvc-8.0express\debug\threading-multi\test_adl_barrier.obj... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\msv c-8.0express\debug\threading-multi>test_adl_barrier.exe for lack of <p..\..\..\. .\bin.v2\libs\utility\swap\test\test_adl_barrier.test\msvc-8.0express\debug\thre ading-multi>test_adl_barrier.obj... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\msv c-8.0express\debug\threading-multi>test_adl_barrier.run for lack of <p..\..\..\. .\bin.v2\libs\utility\swap\test\test_adl_barrier.test\msvc-8.0express\debug\thre ading-multi>test_adl_barrier.exe... compile-c-c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\ms vc-9.0express\debug\threading-multi\test_adl_barrier.obj test_adl_barrier.cpp test_adl_barrier.cpp(29) : error C2784: 'void boost::swap(boost::shared_ptr<T> & ,boost::shared_ptr<T> &)' : could not deduce template argument for 'boost::share d_ptr<T> &' from 'boost::swap_test_class' c:\boost\trunk\boost/shared_ptr.hpp(568) : see declaration of 'boost::sw ap' test_adl_barrier.cpp(29) : error C2784: 'void boost::swap(boost::intrusive_ptr<T
&,boost::intrusive_ptr<T> &)' : could not deduce template argument for 'boost: :intrusive_ptr<T> &' from 'boost::swap_test_class' c:\boost\trunk\boost/intrusive_ptr.hpp(243) : see declaration of 'boost: :swap'
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 >nu l cl /Zm800 -nologo @"..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.t est\msvc-9.0express\debug\threading-multi\test_adl_barrier.obj.rsp" ...failed compile-c-c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barri er.test\msvc-9.0express\debug\threading-multi\test_adl_barrier.obj... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\msv c-9.0express\debug\threading-multi>test_adl_barrier.exe for lack of <p..\..\..\. .\bin.v2\libs\utility\swap\test\test_adl_barrier.test\msvc-9.0express\debug\thre ading-multi>test_adl_barrier.obj... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\msv c-9.0express\debug\threading-multi>test_adl_barrier.run for lack of <p..\..\..\. .\bin.v2\libs\utility\swap\test\test_adl_barrier.test\msvc-9.0express\debug\thre ading-multi>test_adl_barrier.exe... como-win.compile.c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier. test\como-win-4.3.10.1beta2\debug\test_adl_barrier.obj Setting environment for using Microsoft Visual Studio 2008 x86 tools. "..\..\..\..\boost/test/utils/basic_cstring/basic_cstring.hpp", line 60: warning #68-D: integer conversion resulted in a change of sign enum npos_type { npos = (size_type)-1 }; ^ "test_adl_barrier.cpp", line 29: error #304: no instance of overloaded function "boost::swap" matches the argument list argument types are: (boost::swap_test_class, boost::swap_test_class ) boost::swap(object1,object2); ^ 1 error detected in the compilation of "test_adl_barrier.cpp". call "C:/Program Files/Comeau/xp43101beta2/bin/setup" como -c -e5 --no_version --no_prelink_verbose --display_error_number --long_lon g --diag_suppress=9,21,161,748,940,962 --diag_error=461 -D__STL_LONG_LONG -DBOO ST_ALL_NO_LIB=1 -DBOOST_TEST_NO_AUTO_LINK=1 --no_inlining -D_WIN32 --exceptions -I"..\..\..\.." -o "..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrie r.test\como-win-4.3.10.1beta2\debug\test_adl_barrier.obj" "test_adl_barrier.cpp" ...failed como-win.compile.c++ ..\..\..\..\bin.v2\libs\utility\swap\test\test_ad l_barrier.test\como-win-4.3.10.1beta2\debug\test_adl_barrier.obj... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\com o-win-4.3.10.1beta2\debug>test_adl_barrier.exe for lack of <p..\..\..\..\bin.v2\ libs\utility\swap\test\test_adl_barrier.test\como-win-4.3.10.1beta2\debug>test_a dl_barrier.obj... ...skipped <p..\..\..\..\bin.v2\libs\utility\swap\test\test_adl_barrier.test\com o-win-4.3.10.1beta2\debug>test_adl_barrier.run for lack of <p..\..\..\..\bin.v2\ libs\utility\swap\test\test_adl_barrier.test\como-win-4.3.10.1beta2\debug>test_a dl_barrier.exe... ...failed updating 6 targets... ...skipped 18 targets... Steven@D3RTHVC1 /cygdrive/c/boost/trunk/libs/utility/swap/test $