diff --git a/tests/Jamfile b/tests/Jamfile index 8ad297a..e907792 100644 --- a/tests/Jamfile +++ b/tests/Jamfile @@ -22,7 +22,7 @@ unit-test is_function_test : is_function_test.cpp unit-test is_same_test : is_same_test.cpp : $(BOOST_ROOT) : ; -unit-test object_traits_test : object_traits_test.cpp +unit-test object_type_traits_test : object_type_traits_test.cpp : $(BOOST_ROOT) : ; unit-test transform_traits_test : transform_traits_test.cpp @@ -32,3 +32,4 @@ unit-test transform_traits_test : transform_traits_test.cpp + diff --git a/tests/composite_traits_test.cpp b/tests/composite_traits_test.cpp index 5acd6ce..40ef836 100644 --- a/tests/composite_traits_test.cpp +++ b/tests/composite_traits_test.cpp @@ -151,7 +151,11 @@ unsigned int expected_failures = 11; unsigned int expected_failures = 1; #endif #elif defined(__GNUC__) -unsigned int expected_failures = 1; // can't handle cv-qualified references +# if __GNUC__==3 && __GNUC_MINOR__>=1 +unsigned int expected_failures = 0; +# else +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) @@ -163,3 +167,4 @@ unsigned int expected_failures = 0; + diff --git a/tests/cv_traits_test.cpp b/tests/cv_traits_test.cpp index 21b3dc7..5d34a6c 100644 --- a/tests/cv_traits_test.cpp +++ b/tests/cv_traits_test.cpp @@ -36,7 +36,7 @@ int cpp_main(int argc, char* argv[]) value_test(true, boost::is_const::value) value_test(true, boost::is_const::value) value_test(false, boost::is_const::value) -#ifndef __GNUC__ +#if !defined (__GNUC__) || (defined(__GNUC__) && __GNUC__==3 && __GNUC_MINOR__>=1) value_test(false, boost::is_const::value) #else value_fail(false, boost::is_const::value) @@ -63,11 +63,11 @@ int cpp_main(int argc, char* argv[]) unsigned int expected_failures = 3; #elif defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530) unsigned int expected_failures = 1; -#elif defined(__GNUC__) -unsigned int expected_failures = 1; // cr_type doesn't compile #else unsigned int expected_failures = 0; #endif + + diff --git a/tests/transform_traits_test.cpp b/tests/transform_traits_test.cpp index d82e24b..39232cf 100644 --- a/tests/transform_traits_test.cpp +++ b/tests/transform_traits_test.cpp @@ -471,8 +471,14 @@ unsigned int expected_failures = 474; // cv-qualifiers #endif #elif defined(BOOST_MSVC) unsigned int expected_failures = 84; // partial specialisation (fails for UDT's) -#elif defined(__GNUC__) || defined(__SUNPRO_CC) +#elif defined(__SUNPRO_CC) unsigned int expected_failures = 1; // cv-qualified references +#elif defined(__GNUC__) +#if __GNUC__==3 && __GNUC_MINOR__>=1 +unsigned int expected_failures = 0; +#else +unsigned int expected_failures = 1 // cv-qualified references +#endif #elif defined(__HP_aCC) unsigned int expected_failures = 272; // remove_const/remove_volatile/remove_cv don't work #else @@ -487,3 +493,4 @@ unsigned int expected_failures = 0; +