diff options
Diffstat (limited to 'libraries/FreeImage/cross_platform_byteswap_fix.patch')
-rw-r--r-- | libraries/FreeImage/cross_platform_byteswap_fix.patch | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/libraries/FreeImage/cross_platform_byteswap_fix.patch b/libraries/FreeImage/cross_platform_byteswap_fix.patch index c884882fbe..9ae51e7217 100644 --- a/libraries/FreeImage/cross_platform_byteswap_fix.patch +++ b/libraries/FreeImage/cross_platform_byteswap_fix.patch @@ -2,21 +2,21 @@ diff -up FreeImage/Source/LibJXR/image/decode/segdec.c.orig FreeImage/Source/Lib --- FreeImage/Source/LibJXR/image/decode/segdec.c.orig 2024-08-18 02:32:53.595421505 -0500 +++ FreeImage/Source/LibJXR/image/decode/segdec.c 2024-08-18 02:33:41.184788298 -0500 @@ -29,6 +29,18 @@ - #include "strcodec.h" - #include "decode.h" - -+// Conditional definition of _byteswap_ulong for cross-platform compatibility -+#ifdef _MSC_VER -+ #include <intrin.h> // Use the Microsoft-specific function on MSVC -+#else -+ #include <stdint.h> // Standard header for fixed-width integers -+ -+ // Define the Microsoft-specific function for non-MSVC compilers -+ static inline uint32_t _byteswap_ulong(uint32_t x) { -+ return __builtin_bswap32(x); // GCC/Clang built-in function for Linux -+ } -+#endif -+ - #ifdef MEM_TRACE - #define TRACE_MALLOC 1 - #define TRACE_NEW 0 + #include "strcodec.h"
+ #include "decode.h"
+
++// Conditional definition of _byteswap_ulong for cross-platform compatibility
++#ifdef _MSC_VER
++ #include <intrin.h> // Use the Microsoft-specific function on MSVC
++#else
++ #include <stdint.h> // Standard header for fixed-width integers
++
++ // Define the Microsoft-specific function for non-MSVC compilers
++ static inline uint32_t _byteswap_ulong(uint32_t x) {
++ return __builtin_bswap32(x); // GCC/Clang built-in function for Linux
++ }
++#endif
++
+ #ifdef MEM_TRACE
+ #define TRACE_MALLOC 1
+ #define TRACE_NEW 0
|