From 79713e75fcc5c5cb55d1b1beac008683b57c8805 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 7 Jan 2024 06:54:34 +0000 Subject: gentoo auto-resync : 07:01:2024 - 06:54:33 --- .../files/aseprite-1.3.2_strict-aliasing.patch | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch (limited to 'dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch') diff --git a/dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch b/dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch new file mode 100644 index 000000000000..de88b29a82aa --- /dev/null +++ b/dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch @@ -0,0 +1,55 @@ +From 4e2066a7eb108503bfea2092672329e19ffbde49 Mon Sep 17 00:00:00 2001 +From: "Azamat H. Hackimov" +Date: Tue, 2 Jan 2024 21:09:04 +0300 +Subject: [PATCH] Fix strict-aliasing warnings + +--- + src/dio/aseprite_decoder.cpp | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/src/dio/aseprite_decoder.cpp b/src/dio/aseprite_decoder.cpp +index e01fbba32..209a67307 100644 +--- a/src/dio/aseprite_decoder.cpp ++++ b/src/dio/aseprite_decoder.cpp +@@ -28,10 +28,20 @@ + #include "zlib.h" + + #include ++#include + #include + + namespace dio { + ++template ++T ++copy_reinterpret_cast(const void* ptr) ++{ ++ T tmp; ++ std::memcpy(&tmp, ptr, sizeof(T)); ++ return tmp; ++} ++ + bool AsepriteDecoder::decode() + { + bool ignore_old_color_chunks = false; +@@ -425,7 +435,7 @@ float AsepriteDecoder::readFloat() + + // Little endian. + int v = ((b4 << 24) | (b3 << 16) | (b2 << 8) | b1); +- return *reinterpret_cast(&v); ++ return *copy_reinterpret_cast(&v); + } + + double AsepriteDecoder::readDouble() +@@ -465,7 +475,7 @@ double AsepriteDecoder::readDouble() + ((long long)b3 << 16) | + ((long long)b2 << 8) | + (long long)b1); +- return *reinterpret_cast(&v); ++ return *copy_reinterpret_cast(&v); + } + + doc::Palette* AsepriteDecoder::readColorChunk(doc::Palette* prevPal, +-- +2.41.0 + -- cgit v1.2.3