From: David Michael Date: Sun, 26 Oct 2014 17:34:26 +0000 (-0400) Subject: compat/bswap.h: detect endianness from XL C compiler macros X-Git-Tag: v2.2.0-rc0~11^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bfb0e6fcd2826a869383b766712131a07a8059b0;p=thirdparty%2Fgit.git compat/bswap.h: detect endianness from XL C compiler macros There is no /usr/include/endian.h equivalent on z/OS, but the compiler will define macros to indicate endianness on host and target hardware. This adds a test for these macros as a last resort for determining byte order. Signed-off-by: David Michael Signed-off-by: Junio C Hamano --- diff --git a/compat/bswap.h b/compat/bswap.h index f6fd9a6a6c..7fed637ed0 100644 --- a/compat/bswap.h +++ b/compat/bswap.h @@ -122,6 +122,10 @@ static inline uint64_t git_bswap64(uint64_t x) # define GIT_BYTE_ORDER GIT_BIG_ENDIAN # elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) # define GIT_BYTE_ORDER GIT_LITTLE_ENDIAN +# elif defined(__THW_BIG_ENDIAN__) && !defined(__THW_LITTLE_ENDIAN__) +# define GIT_BYTE_ORDER GIT_BIG_ENDIAN +# elif defined(__THW_LITTLE_ENDIAN__) && !defined(__THW_BIG_ENDIAN__) +# define GIT_BYTE_ORDER GIT_LITTLE_ENDIAN # else # error "Cannot determine endianness" # endif