diff --git a/include/boost/type_traits/composite_traits.hpp b/include/boost/type_traits/composite_traits.hpp index 01aab6d..43c38fd 100644 --- a/include/boost/type_traits/composite_traits.hpp +++ b/include/boost/type_traits/composite_traits.hpp @@ -392,7 +392,7 @@ template { BOOST_STATIC_CONSTANT(bool, value = true); }; // Metrowerks thinks this creates ambiguities -# if !defined(__MWERKS__) || __MWERKS__ > 0x2406 +# if !defined(__MWERKS__) || __MWERKS__ > 0x2407 template struct is_member_function_pointer{ BOOST_STATIC_CONSTANT(bool, value = true); }; diff --git a/tests/composite_traits_test.cpp b/tests/composite_traits_test.cpp index 9589284..f53c13e 100644 --- a/tests/composite_traits_test.cpp +++ b/tests/composite_traits_test.cpp @@ -146,7 +146,7 @@ unsigned int expected_failures = 1; // can't handle cv-qualified references # endif #elif defined(BOOST_MSVC) unsigned int expected_failures = 0; -#elif defined(__MWERKS__) || defined(__HP_aCC) +#elif defined(__MWERKS__) && __MWERKS__ <= 0x2407 || defined(__HP_aCC) unsigned int expected_failures = 1; // is_enum doesn't work #else unsigned int expected_failures = 0;