Skip to content

Commit 0c038fc

Browse files
dgurneygitster
authored andcommitted
compat/bswap.h: don't assume MSVC is little-endian
In 1af265f (compat/bswap.h: simplify MSVC endianness detection, 2020-11-08) we attempted to simplify code by assuming MSVC builds will be for little-endian machines, since only unusably old versions of MSVC supported big-endian MIPS and m68k architectures. However, it's possible that MSVC could be ported to build for a big-endian architecture again, so the simplification wasn't as future-proof as hoped. So let's go back to the old way of detecting MSVC, and then checking architecture from a list of little-endian architecture macros. Note that MSVC does not treat ARM64 as bi-endian, so we can safely treat it as little-endian. Helped-by: brian m. carlson <[email protected]> Helped-by: Jeff King <[email protected]> Helped-by: Johannes Schindelin <[email protected]> Helped-by: Junio C Hamano <[email protected]> Signed-off-by: Daniel Gurney <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 1af265f commit 0c038fc

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

compat/bswap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ static inline uint64_t git_bswap64(uint64_t x)
7474
}
7575
#endif
7676

77-
#elif defined(_MSC_VER)
77+
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64))
7878

7979
#include <stdlib.h>
8080

0 commit comments

Comments
 (0)