From: Sebastian Andrzej Siewior Date: Wed, 11 Jun 2025 22:14:37 +0000 (+0200) Subject: Revert "bswap.h: add support for built-in bswap functions" X-Git-Tag: v2.50.0~3^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c62df0abe3d77ebd66630921d857b36b6c15084;p=thirdparty%2Fgit.git Revert "bswap.h: add support for built-in bswap functions" Since 6547d1c9 (bswap.h: add support for built-in bswap functions, 2025-04-23) tweaked the way the bswap32/64 macros are defined, on platforms with __builtin_bswap32/64 supported, the bswap32/64 macros are defined even on big endian platforms. However the rest of this file assumes that bswap32/64() are defined ONLY on little endian machines and uses that assumption to redefine ntohl/ntohll macros. The said commit broke t4014-format-patch.sh test, among many others on s390x. Revert the commit. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Junio C Hamano --- diff --git a/compat/bswap.h b/compat/bswap.h index 9e0f98e00b..b34054f2bd 100644 --- a/compat/bswap.h +++ b/compat/bswap.h @@ -35,19 +35,7 @@ static inline uint64_t default_bswap64(uint64_t val) #undef bswap32 #undef bswap64 -/** - * __has_builtin is available since Clang 10 and GCC 10. - * Below is a fallback for older compilers. - */ -#ifndef __has_builtin - #define __has_builtin(x) 0 -#endif - -#if __has_builtin(__builtin_bswap32) && __has_builtin(__builtin_bswap64) -#define bswap32(x) __builtin_bswap32((x)) -#define bswap64(x) __builtin_bswap64((x)) - -#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) #define bswap32 git_bswap32 static inline uint32_t git_bswap32(uint32_t x)