liblzma: Port to VS 6, 7.0
Also remove use of MSVC intrinsic.
This commit is contained in:
parent
7a92eddbcb
commit
c20b45027e
|
@ -16,6 +16,10 @@
|
|||
#ifndef LZMA_SYSDEFS_H
|
||||
#define LZMA_SYSDEFS_H
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# pragma warning(disable: 4028 4244 4761)
|
||||
#endif
|
||||
|
||||
//////////////
|
||||
// Includes //
|
||||
//////////////
|
||||
|
@ -46,6 +50,12 @@
|
|||
# include <limits.h>
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1310)
|
||||
# define UINT64_C(n) n ## ui64
|
||||
#endif
|
||||
|
||||
|
||||
// Be more compatible with systems that have non-conforming inttypes.h.
|
||||
// We assume that int is 32-bit and that long is either 32-bit or 64-bit.
|
||||
// Full Autoconf test could be more correct, but this should work well enough.
|
||||
|
|
|
@ -387,13 +387,6 @@ bsr32(uint32_t n)
|
|||
__asm__("bsrl %1, %0" : "=r" (i) : "rm" (n));
|
||||
return i;
|
||||
|
||||
#elif defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
// MSVC isn't supported by tuklib, but since this code exists,
|
||||
// it doesn't hurt to have it here anyway.
|
||||
uint32_t i;
|
||||
_BitScanReverse((DWORD *)&i, n);
|
||||
return i;
|
||||
|
||||
#else
|
||||
uint32_t i = 31;
|
||||
|
||||
|
@ -441,11 +434,6 @@ clz32(uint32_t n)
|
|||
: "=r" (i) : "rm" (n));
|
||||
return i;
|
||||
|
||||
#elif defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
uint32_t i;
|
||||
_BitScanReverse((DWORD *)&i, n);
|
||||
return i ^ 31U;
|
||||
|
||||
#else
|
||||
uint32_t i = 0;
|
||||
|
||||
|
@ -491,11 +479,6 @@ ctz32(uint32_t n)
|
|||
__asm__("bsfl %1, %0" : "=r" (i) : "rm" (n));
|
||||
return i;
|
||||
|
||||
#elif defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
uint32_t i;
|
||||
_BitScanForward((DWORD *)&i, n);
|
||||
return i;
|
||||
|
||||
#else
|
||||
uint32_t i = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue