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 <sebastian@breakpoint.cc> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Andrzej Siewior committed
Jun 12, 2025 at 00:14 UTC
1c62df0abe3d77ebd66630921d857b36b6c15084
1 file changed
+1
-13
compat/bswap.h
+1
-13
@@ -35,19 +35,7 @@ static inline uint64_t default_bswap64(uint64_t val)
35
#undef bswap32
36
#undef bswap64
37
38
-/**
39
- * __has_builtin is available since Clang 10 and GCC 10.
40
- * Below is a fallback for older compilers.
41
- */
42
-#ifndef __has_builtin
43
- #define __has_builtin(x) 0
44
-#endif
45
-
46
-#if __has_builtin(__builtin_bswap32) && __has_builtin(__builtin_bswap64)
47
-#define bswap32(x) __builtin_bswap32((x))
48
-#define bswap64(x) __builtin_bswap64((x))
49
-
50
-#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
38
+#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
39
40
#define bswap32 git_bswap32
41
static inline uint32_t git_bswap32(uint32_t x)