浏览代码

Fix declarations of _BitScanForward/_BitScanReverse.

Reported by Mumin Guler.
Mike Pall 5 年之前
父节点
当前提交
41a25efc80
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      src/lj_def.h

+ 4 - 4
src/lj_def.h

@@ -254,19 +254,19 @@ static LJ_AINLINE uint32_t lj_fls(uint32_t x)
   return _CountLeadingZeros(x) ^ 31;
   return _CountLeadingZeros(x) ^ 31;
 }
 }
 #else
 #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(_BitScanForward)
 #pragma intrinsic(_BitScanReverse)
 #pragma intrinsic(_BitScanReverse)
 
 
 static LJ_AINLINE uint32_t lj_ffs(uint32_t x)
 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)
 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
 #endif