From 75ffe88f823ef08950391f445000afe5cd80f4ec Mon Sep 17 00:00:00 2001 From: Daniel James Date: Wed, 12 Dec 2012 09:44:32 +0000 Subject: [PATCH] Hash: Fix int128 with BOOST_HASH_NO_EXTENSIONS. I don't think int128 should count as an extension. BOOST_HASH_NO_EXTENSIONS is actually a bit of a pain, and I don't think it's that useful. Maybe I should deprecate it. [SVN r81870] --- hash/doc/changes.qbk | 3 +++ include/boost/functional/hash/hash.hpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/hash/doc/changes.qbk b/hash/doc/changes.qbk index b98e2ea..b20e58d 100644 --- a/hash/doc/changes.qbk +++ b/hash/doc/changes.qbk @@ -142,6 +142,9 @@ [h2 Boost 1.52.0] * Restore `enum` support, which was accidentally removed in the last version. +* Add support for `boost::int128_type` and `boost::uint128_type` where + available - currently only `__int128` and `unsigned __int128` on some + versions of gcc. * New floating point hasher - will hash the binary representation on more platforms, which should be faster. * On platforms that are known to have standard floating point, don't use the diff --git a/include/boost/functional/hash/hash.hpp b/include/boost/functional/hash/hash.hpp index f94ffce..aa4e49f 100644 --- a/include/boost/functional/hash/hash.hpp +++ b/include/boost/functional/hash/hash.hpp @@ -439,6 +439,11 @@ namespace boost BOOST_HASH_SPECIALIZE(boost::ulong_long_type) #endif +#if defined(BOOST_HAS_INT128) + BOOST_HASH_SPECIALIZE(boost::int128_type) + BOOST_HASH_SPECIALIZE(boost::uint128_type) +#endif + #if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) BOOST_HASH_SPECIALIZE(std::type_index) #endif