Skip to content

Commit ba83ff8

Browse files
committed
Move down __has_builtin to fix GCC builds
1 parent c51c3a7 commit ba83ff8

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

compat/bswap.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,7 @@ static inline uint64_t default_bswap64(uint64_t val)
3535
#undef bswap32
3636
#undef bswap64
3737

38-
#if defined(__has_builtin) && __has_builtin(__builtin_bswap64)
39-
40-
#define bswap32(x) __builtin_bswap32((x))
41-
#define bswap64(x) __builtin_bswap64((x))
42-
43-
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
38+
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
4439

4540
#define bswap32 git_bswap32
4641
static inline uint32_t git_bswap32(uint32_t x)
@@ -79,6 +74,11 @@ static inline uint64_t git_bswap64(uint64_t x)
7974
}
8075
#endif
8176

77+
#elif defined(__has_builtin) && __has_builtin(__builtin_bswap64) /* for clang arm64; gcc only added this in gcc 10 */
78+
79+
#define bswap32(x) __builtin_bswap32((x))
80+
#define bswap64(x) __builtin_bswap64((x))
81+
8282
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64))
8383

8484
#include <stdlib.h>

0 commit comments

Comments
 (0)