diff --git a/bind_test.cpp b/bind_test.cpp index 81b5db4..099d7d1 100644 --- a/bind_test.cpp +++ b/bind_test.cpp @@ -377,6 +377,11 @@ void member_function_test() void member_function_void_test() { +// mem_fn void returns are temporarily disabled on MSVC 6 +// they cause internal compiler errors with debug info turned on + +#if !defined(BOOST_MSVC) || (BOOST_MSVC > 1200) + using namespace boost; V v; @@ -463,6 +468,8 @@ void member_function_void_test() bind(&V::g8, ref(v), 1, 2, 3, 4, 5, 6, 7, 8)(); BOOST_TEST( v.hash == 23558 ); + +#endif } void nested_bind_test() diff --git a/include/boost/mem_fn.hpp b/include/boost/mem_fn.hpp index a930dca..465e08a 100644 --- a/include/boost/mem_fn.hpp +++ b/include/boost/mem_fn.hpp @@ -41,7 +41,10 @@ template T * get_pointer(shared_ptr const & p) return p.get(); } -#ifdef BOOST_NO_VOID_RETURNS +// Void return workaround temporarily disabled on MSVC 6 +// causes internal compiler errors with debug info enabled + +#if defined(BOOST_NO_VOID_RETURNS) && !defined(BOOST_MSVC) namespace _mfi // mem_fun_impl {