mirror of
https://github.com/git-for-windows/git.git
synced 2026-02-04 03:33:01 -06:00
Reapply "bswap.h: add support for built-in bswap functions"
The `bswap.h` header was introduced to fix the Windows/ARM64 build. Unfortunately, this broke big Endian machines. Instead of fixing it properly, upstream Git simply reverted the commit in 1c62df0abe3d (Revert "bswap.h: add support for built-in bswap functions", 2025-06-12), re-breaking the Windows/ARM64 build. Let's re-un-break the Windows/ARM64 build by reverting 1c62df0abe3d (Revert "bswap.h: add support for built-in bswap functions", 2025-06-12). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
parent
7f212148ed
commit
311e67dc24
@ -35,7 +35,19 @@ static inline uint64_t default_bswap64(uint64_t val)
|
||||
#undef bswap32
|
||||
#undef bswap64
|
||||
|
||||
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||
/**
|
||||
* __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__))
|
||||
|
||||
#define bswap32 git_bswap32
|
||||
static inline uint32_t git_bswap32(uint32_t x)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user