Skip to content

Commit 228273b

Browse files
sebastianasgitster
authored andcommitted
bswap.h: add support for __BYTE_ORDER__
The __BYTE_ORDER__ define is provided by gcc (since ~v4.6), clang (since ~v3.2) and icc (since ~16.0.3). It is not provided by msvc as of v19.43 / 17.13.6, which will be dealt with in later steps in this series. The __BYTE_ORDER and BYTE_ORDER macros are libc specific and are not available on all supported platforms such as mingw. Add support for the __BYTE_ORDER__ macro as a fallback. Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 1944e07 commit 228273b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

compat/bswap.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ static inline uint64_t git_bswap64(uint64_t x)
116116
# define GIT_LITTLE_ENDIAN LITTLE_ENDIAN
117117
# define GIT_BIG_ENDIAN BIG_ENDIAN
118118

119+
#elif defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && defined(__ORDER_BIG_ENDIAN__)
120+
121+
# define GIT_BYTE_ORDER __BYTE_ORDER__
122+
# define GIT_LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
123+
# define GIT_BIG_ENDIAN __ORDER_BIG_ENDIAN__
124+
119125
#else
120126

121127
# define GIT_BIG_ENDIAN 4321

0 commit comments

Comments
 (0)