restrict BitScanForward() to VS2005+
authorYann Collet <cyan@fb.com>
Sat, 14 Nov 2020 22:26:08 +0000 (14:26 -0800)
committerYann Collet <cyan@fb.com>
Sat, 14 Nov 2020 22:26:08 +0000 (14:26 -0800)
suggested by @aqrit in #947

lib/lz4.c

index 5fe3433a419d066c505e9a4089b9ee4185280a48..5c6cf4dc14939d3075ba28a2c9ce9f7c56d49863 100644 (file)
--- a/lib/lz4.c
+++ b/lib/lz4.c
@@ -533,7 +533,7 @@ static unsigned LZ4_NbCommonBytes (reg_t val)
             return (unsigned)(((U64)((val & (m - 1)) * m)) >> 56);
 #       endif
         } else /* 32 bits */ {
-#       if defined(_MSC_VER) && !defined(LZ4_FORCE_SW_BITCOUNT)
+#       if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(LZ4_FORCE_SW_BITCOUNT)
             unsigned long r;
             _BitScanForward(&r, (U32)val);
             return (unsigned)r >> 3;