libmicrohttpd2

HTTP server C library (MHD 2.x, alpha)
Log | Files | Refs | README | LICENSE

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:
Msrc/mhd2/mhd_bithelpers.h | 9+++++++++
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)))