ewah: fix building with gcc < 3.4.0
The __builtin_ctzll function was added in gcc 3.4.0. This extends the check for gcc so that use of __builtin_ctzll is only enabled if gcc >= 3.4.0. Signed-off-by: Tom G. Christensen <tgc@statsbiblioteket.dk> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tom G. Christensen committed
Feb 4, 2015 at 09:23 UTC
bd4e8822da3bf6ce28a0c5f7c1bbf1b6341c0586
1 file changed
+2
-1
ewah/ewok.h
+2
-1
@@ -47,7 +47,8 @@ static inline uint32_t ewah_bit_popcount64(uint64_t x)
47
return (x * 0x0101010101010101ULL) >> 56;
48
}
49
50
-#ifdef __GNUC__
50
+/* __builtin_ctzll was not available until 3.4.0 */
51
+#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR > 3))
52
#define ewah_bit_ctz64(x) __builtin_ctzll(x)
53
#else
54
static inline int ewah_bit_ctz64(uint64_t x)