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
|
#ifndef LZMA_SYSDEFS_H
|
||||||
#define LZMA_SYSDEFS_H
|
#define LZMA_SYSDEFS_H
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# pragma warning(disable: 4028 4244 4761)
|
||||||
|
#endif
|
||||||
|
|
||||||
//////////////
|
//////////////
|
||||||
// Includes //
|
// Includes //
|
||||||
//////////////
|
//////////////
|
||||||
|
@ -46,6 +50,12 @@
|
||||||
# include <limits.h>
|
# include <limits.h>
|
||||||
#endif
|
#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.
|
// 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.
|
// 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.
|
// 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));
|
__asm__("bsrl %1, %0" : "=r" (i) : "rm" (n));
|
||||||
return i;
|
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
|
#else
|
||||||
uint32_t i = 31;
|
uint32_t i = 31;
|
||||||
|
|
||||||
|
@ -441,11 +434,6 @@ clz32(uint32_t n)
|
||||||
: "=r" (i) : "rm" (n));
|
: "=r" (i) : "rm" (n));
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
#elif defined(_MSC_VER) && _MSC_VER >= 1400
|
|
||||||
uint32_t i;
|
|
||||||
_BitScanReverse((DWORD *)&i, n);
|
|
||||||
return i ^ 31U;
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
uint32_t i = 0;
|
uint32_t i = 0;
|
||||||
|
|
||||||
|
@ -491,11 +479,6 @@ ctz32(uint32_t n)
|
||||||
__asm__("bsfl %1, %0" : "=r" (i) : "rm" (n));
|
__asm__("bsfl %1, %0" : "=r" (i) : "rm" (n));
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
#elif defined(_MSC_VER) && _MSC_VER >= 1400
|
|
||||||
uint32_t i;
|
|
||||||
_BitScanForward((DWORD *)&i, n);
|
|
||||||
return i;
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
uint32_t i = 0;
|
uint32_t i = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue