commit bdf3919d9bb68305ab3b31790d6dd40d5bfcfb76
parent 65c588282823d3865957bbe1a0d7625dab771f4b
Author: Evgeny Grin (Karlson2k) <k2k@drgrin.dev>
Date: Fri, 25 Apr 2025 14:41:55 +0200
mhd_bithelpers: improved compatibility with modern GCC
Diffstat:
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/mhd2/mhd_bithelpers.h b/src/mhd2/mhd_bithelpers.h
@@ -344,6 +344,9 @@ mhd_PUT_64BIT_BE_UNALIGN (void *dst, uint64_t value)
# endif /* ! __clang__ */
# define mhd_ROTR32(value32, bits) \
((uint32_t) _rotr ((uint32_t) (value32),(bits)))
+#elif mhd_HAS_BUILTIN (__builtin_stdc_rotate_right)
+# define mhd_ROTR32(value32, bits) \
+ (__builtin_stdc_rotate_right ((uint32_t) (value32), (bits)))
#elif mhd_HAS_BUILTIN (__builtin_rotateright32)
# define mhd_ROTR32(value32, bits) \
((uint32_t) __builtin_rotateright32 ((value32), (bits)))
@@ -372,6 +375,9 @@ mhd_ROTR32 (uint32_t value32, int bits)
# endif /* ! __clang__ */
# define mhd_ROTL32(value32, bits) \
((uint32_t) _rotl ((uint32_t) (value32),(bits)))
+#elif mhd_HAS_BUILTIN (__builtin_stdc_rotate_left)
+# define mhd_ROTL32(value32, bits) \
+ (__builtin_stdc_rotate_left ((uint32_t) (value32), (bits)))
#elif mhd_HAS_BUILTIN (__builtin_rotateleft32)
# define mhd_ROTL32(value32, bits) \
((uint32_t) __builtin_rotateleft32 ((value32), (bits)))
@@ -400,6 +406,9 @@ mhd_ROTL32 (uint32_t value32, int bits)
# endif /* ! __clang__ */
# define mhd_ROTR64(value64, bits) \
((uint64_t) _rotr64 ((uint64_t) (value64),(bits)))
+#elif mhd_HAS_BUILTIN (__builtin_stdc_rotate_right)
+# define mhd_ROTR64(value64, bits) \
+ (__builtin_stdc_rotate_right ((uint64_t) (value64), (bits)))
#elif mhd_HAS_BUILTIN (__builtin_rotateright64)
# define mhd_ROTR64(value64, bits) \
((uint64_t) __builtin_rotateright64 ((value64), (bits)))