Fix declarations of _BitScanForward/_BitScanReverse.

Reported by Mumin Guler.
This commit is contained in:
Mike Pall 2019-12-08 19:42:49 +01:00
parent 46a1b268eb
commit 41a25efc80

View File

@ -254,19 +254,19 @@ static LJ_AINLINE uint32_t lj_fls(uint32_t x)
return _CountLeadingZeros(x) ^ 31;
}
#else
unsigned char _BitScanForward(uint32_t *, unsigned long);
unsigned char _BitScanReverse(uint32_t *, unsigned long);
unsigned char _BitScanForward(unsigned long *, unsigned long);
unsigned char _BitScanReverse(unsigned long *, unsigned long);
#pragma intrinsic(_BitScanForward)
#pragma intrinsic(_BitScanReverse)
static LJ_AINLINE uint32_t lj_ffs(uint32_t x)
{
uint32_t r; _BitScanForward(&r, x); return r;
unsigned long r; _BitScanForward(&r, x); return (uint32_t)r;
}
static LJ_AINLINE uint32_t lj_fls(uint32_t x)
{
uint32_t r; _BitScanReverse(&r, x); return r;
unsigned long r; _BitScanReverse(&r, x); return (uint32_t)r;
}
#endif