From e94bd4810ebb840710f01074399cc79113f9bc7a Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 2 Sep 2014 10:12:47 +0200 Subject: [PATCH] Fix "strict aliasing rules" warnings Treated as errors when trying to build the test_app_server for x86_64. --- headers/os/interface/GraphicsDefs.h | 4 +++- src/kits/shared/SHA256.cpp | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/headers/os/interface/GraphicsDefs.h b/headers/os/interface/GraphicsDefs.h index db96b95e7c..5e970c0a5b 100644 --- a/headers/os/interface/GraphicsDefs.h +++ b/headers/os/interface/GraphicsDefs.h @@ -19,7 +19,9 @@ typedef struct pattern { inline bool operator==(const pattern& a, const pattern& b) { - return (*(uint64*)a.data == *(uint64*)b.data); + uint64* pa = (uint64*)a.data; + uint64* pb = (uint64*)b.data; + return (*pa == *pb); } diff --git a/src/kits/shared/SHA256.cpp b/src/kits/shared/SHA256.cpp index 60e154d903..c3fe936013 100644 --- a/src/kits/shared/SHA256.cpp +++ b/src/kits/shared/SHA256.cpp @@ -114,8 +114,8 @@ SHA256::Digest() } // write the (big-endian) message size in bits - *(uint64*)((uint8*)fBuffer + kChunkSize - 8) - = B_HOST_TO_BENDIAN_INT64((uint64)fMessageSize * 8); + uint64* target = (uint64*)((uint8*)fBuffer + kChunkSize - 8); + *target = B_HOST_TO_BENDIAN_INT64((uint64)fMessageSize * 8); _ProcessChunk();