diff --git a/tests/composite_traits_test.cpp b/tests/composite_traits_test.cpp index de69df8..8990867 100644 --- a/tests/composite_traits_test.cpp +++ b/tests/composite_traits_test.cpp @@ -122,7 +122,11 @@ int cpp_main(int argc, char* argv[]) #ifdef __BORLANDC__ unsigned int expected_failures = 2; #elif defined(__SUNPRO_CC) +#if (__SUNPRO_CC <= 0x520) unsigned int expected_failures = 11; +#else +unsigned int expected_failures = 1; +#endif #elif defined(__GNUC__) unsigned int expected_failures = 1; // can't handle cv-qualified references #elif defined(BOOST_MSVC) diff --git a/tests/cv_traits_test.cpp b/tests/cv_traits_test.cpp index deb1a07..3e6463b 100644 --- a/tests/cv_traits_test.cpp +++ b/tests/cv_traits_test.cpp @@ -61,7 +61,7 @@ int cpp_main(int argc, char* argv[]) // define the number of failures expected for given compilers: #ifdef BOOST_MSVC unsigned int expected_failures = 3; -#elif defined(__SUNPRO_CC) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x520) unsigned int expected_failures = 1; #elif defined(__GNUC__) unsigned int expected_failures = 1; // cr_type doesn't compile diff --git a/tests/is_same_test.cpp b/tests/is_same_test.cpp index cc318fa..4a53007 100644 --- a/tests/is_same_test.cpp +++ b/tests/is_same_test.cpp @@ -41,7 +41,7 @@ int cpp_main(int argc, char* argv[]) #ifdef BOOST_MSVC // can't separate void and cv-void: unsigned int expected_failures = 1; -#elif defined(__SUNPRO_CC) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x520) unsigned int expected_failures = 2; #else unsigned int expected_failures = 0; diff --git a/tests/object_type_traits_test.cpp b/tests/object_type_traits_test.cpp index b3c06e3..3640e34 100644 --- a/tests/object_type_traits_test.cpp +++ b/tests/object_type_traits_test.cpp @@ -222,7 +222,11 @@ int cpp_main(int argc, char* argv[]) // can't handle enum's or classes that are POD's unsigned int expected_failures = 10; #elif defined(__SUNPRO_CC) +#if(__SUNPRO_CC <= 0x520) unsigned int expected_failures = 55; +#else +unsigned int expected_failures = 4; +#endif #elif defined(__GNUC__) // classes that are POD's, or empty: unsigned int expected_failures = 4; diff --git a/tests/transform_traits_test.cpp b/tests/transform_traits_test.cpp index e7480fe..fb3ebf2 100644 --- a/tests/transform_traits_test.cpp +++ b/tests/transform_traits_test.cpp @@ -471,7 +471,7 @@ 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__) +#elif defined(__GNUC__) || defined(__SUNPRO_CC) unsigned int expected_failures = 1; // cv-qualified references #else unsigned int expected_failures = 0;