summaryrefslogtreecommitdiff
path: root/cpp/src/slice2objc
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2017-01-17 10:44:00 -0500
committerBernard Normier <bernard@zeroc.com>2017-01-17 10:44:00 -0500
commit8093f2c83dadc4ade9e6ca64b5c3da3a0180bfbf (patch)
tree5f69512df9da8c7e2a476137479968c5ba9b7b65 /cpp/src/slice2objc
parentRevert "Fixed hash algo for Long and Double" (diff)
downloadice-8093f2c83dadc4ade9e6ca64b5c3da3a0180bfbf.tar.bz2
ice-8093f2c83dadc4ade9e6ca64b5c3da3a0180bfbf.tar.xz
ice-8093f2c83dadc4ade9e6ca64b5c3da3a0180bfbf.zip
Synchronized hash algo/test with Java
Diffstat (limited to 'cpp/src/slice2objc')
-rw-r--r--cpp/src/slice2objc/Gen.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/slice2objc/Gen.cpp b/cpp/src/slice2objc/Gen.cpp
index d3316087916..e3b471d11f4 100644
--- a/cpp/src/slice2objc/Gen.cpp
+++ b/cpp/src/slice2objc/Gen.cpp
@@ -2046,7 +2046,7 @@ Slice::Gen::TypesVisitor::writeMemberHashCode(const DataMemberList& dataMembers,
case Builtin::KindDouble:
{
_M << sb;
- _M << nl << "unsigned long long bits_ = (unsigned long long)" << name << ";";
+ _M << nl << "unsigned long long bits_ = *(unsigned long long*)&" << name << ";";
_M << nl << "h_ = ((h_ << 5) + h_) ^ (uint)(bits_ ^ (bits_ >> 32));";
_M << eb;
break;