Index: test/preprocessor.cpp =================================================================== --- test/preprocessor.cpp (revision 39765) +++ test/preprocessor.cpp (working copy) @@ -453,7 +453,7 @@ , name = S("foo") ); -#ifndef BOOST_NO_SFINAE +#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x591)) assert(sfinae("foo") == 1); assert(sfinae(1) == 0); Index: test/sfinae.cpp =================================================================== --- test/sfinae.cpp (revision 39765) +++ test/sfinae.cpp (working copy) @@ -9,7 +9,7 @@ #include #include -#ifndef BOOST_NO_SFINAE +#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x591)) # include # include #endif @@ -70,7 +70,7 @@ f_impl(args(a0, a1)); } -#ifndef BOOST_NO_SFINAE +#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x591)) // On compilers that actually support SFINAE, add another overload // that is an equally good match and can only be in the overload set // when the others are not. This tests that the SFINAE is actually @@ -96,7 +96,7 @@ f("foo", 3.f); f(value = 3.f, name = "foo"); -#ifndef BOOST_NO_SFINAE +#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x591)) BOOST_TEST(f(3, 4) == 0); #endif return boost::report_errors();