diff --git a/doc/changes.qbk b/doc/changes.qbk
index 4ca0814..c824e1a 100644
--- a/doc/changes.qbk
+++ b/doc/changes.qbk
@@ -3,6 +3,8 @@
/ Distributed under the Boost Software License, Version 1.0. (See accompanying
/ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ]
+[template ticket[number]''''''#[number]'''''']
+
[section:changes Change Log]
[h2 Boost 1.33.0]
@@ -160,4 +162,11 @@
* [@https://svn.boost.org/trac/boost/ticket/7957 Ticket 7957]:
Fixed a typo.
+[h2 Boost 1.55.0]
+
+* Simplify a SFINAE check so that it will hopefully work on Sun 5.9
+ ([ticket 8822]).
+* Suppress Visual C++ infinite loop warning ([ticket 8568]).
+
+
[endsect]
diff --git a/include/boost/functional/hash/detail/hash_float.hpp b/include/boost/functional/hash/detail/hash_float.hpp
index 2ac22da..7c3de31 100644
--- a/include/boost/functional/hash/detail/hash_float.hpp
+++ b/include/boost/functional/hash/detail/hash_float.hpp
@@ -103,7 +103,8 @@ namespace boost
template
inline std::size_t float_hash_impl(Float v,
BOOST_DEDUCED_TYPENAME boost::enable_if_c<
- enable_binary_hash::value, int>::type)
+ enable_binary_hash::value,
+ std::size_t>::type)
{
return hash_binary((char*) &v, 4);
}
@@ -112,7 +113,8 @@ namespace boost
template
inline std::size_t float_hash_impl(Float v,
BOOST_DEDUCED_TYPENAME boost::enable_if_c<
- enable_binary_hash::value, int>::type)
+ enable_binary_hash::value,
+ std::size_t>::type)
{
return hash_binary((char*) &v, 8);
}
@@ -120,7 +122,8 @@ namespace boost
template
inline std::size_t float_hash_impl(Float v,
BOOST_DEDUCED_TYPENAME boost::enable_if_c<
- enable_binary_hash::value, int>::type)
+ enable_binary_hash::value,
+ std::size_t>::type)
{
return hash_binary((char*) &v, 10);
}
@@ -128,12 +131,8 @@ namespace boost
template
inline std::size_t float_hash_impl(Float v,
BOOST_DEDUCED_TYPENAME boost::enable_if_c<
- std::numeric_limits::is_iec559 &&
- std::numeric_limits::digits == 113 &&
- std::numeric_limits::radix == 2 &&
- std::numeric_limits::max_exponent == 16384,
- int>::type
- )
+ enable_binary_hash::value,
+ std::size_t>::type)
{
return hash_binary((char*) &v, 16);
}