diff --git a/compressed_pair_test.cpp b/compressed_pair_test.cpp index 85956b7..940896b 100644 --- a/compressed_pair_test.cpp +++ b/compressed_pair_test.cpp @@ -134,7 +134,9 @@ template class boost::compressed_pair; // first references: template double& compressed_pair::first(); template int& compressed_pair::second(); +#if !(defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)) template compressed_pair::compressed_pair(int&); +#endif template compressed_pair::compressed_pair(call_traits::param_type,int&); // // and then arrays: @@ -142,7 +144,9 @@ template compressed_pair::compressed_pair(call_traits::par template call_traits::reference compressed_pair::second(); #endif template call_traits::reference compressed_pair::first(); -template compressed_pair::compressed_pair(const double&); +#if !(defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)) +template compressed_pair::compressed_pair(call_traits::param_type); +#endif template compressed_pair::compressed_pair(); #endif // __MWERKS__ #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION diff --git a/include/boost/detail/compressed_pair.hpp b/include/boost/detail/compressed_pair.hpp index 87c2449..c2b9bef 100644 --- a/include/boost/detail/compressed_pair.hpp +++ b/include/boost/detail/compressed_pair.hpp @@ -75,7 +75,9 @@ namespace details template inline void cp_swap(T& t1, T& t2) { +#ifndef __GNUC__ using std::swap; +#endif swap(t1, t2); } diff --git a/type_traits_test.hpp b/type_traits_test.hpp index 9b3e157..ef39554 100644 --- a/type_traits_test.hpp +++ b/type_traits_test.hpp @@ -35,6 +35,7 @@ struct ct_checker #ifdef BOOST_MSVC #define value_test(v, x) ++test_count;\ + {typedef ct_checker<(x)> this_is_a_compile_time_check_;}\ if(!do_compare((int)v,(int)x)){++failures; std::cout << "checking value of " << #x << "...failed" << std::endl;} #else #define value_test(v, x) ++test_count;\ @@ -108,3 +109,4 @@ unsigned test_count = 0; #endif // BOOST_TYPE_TRAITS_TEST_HPP +