summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/builtins/int_lib.h
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-08-01 18:39:27 +0000
committerReid Kleckner <rnk@google.com>2016-08-01 18:39:27 +0000
commit1bd5e3ec56b2976a54468242b0b0757b609f4e26 (patch)
treec125935bd9420db4cbfd265b8c89eea3a58953bd /compiler-rt/lib/builtins/int_lib.h
parent4c58266038b70d95168fb3920ae50c5189333675 (diff)
downloadbcm5719-llvm-1bd5e3ec56b2976a54468242b0b0757b609f4e26.tar.gz
bcm5719-llvm-1bd5e3ec56b2976a54468242b0b0757b609f4e26.zip
Use 'unsigned long' to match the APIs of the MS bitscan intrinsics
We were getting warnings about how 'uint32_t*' is different from 'unsigned long*' even though they are effectively the same on Windows. llvm-svn: 277363
Diffstat (limited to 'compiler-rt/lib/builtins/int_lib.h')
-rw-r--r--compiler-rt/lib/builtins/int_lib.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler-rt/lib/builtins/int_lib.h b/compiler-rt/lib/builtins/int_lib.h
index 8dfe5672d13..39eee18d914 100644
--- a/compiler-rt/lib/builtins/int_lib.h
+++ b/compiler-rt/lib/builtins/int_lib.h
@@ -91,14 +91,14 @@ COMPILER_RT_ABI tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem);
#include <intrin.h>
uint32_t __inline __builtin_ctz(uint32_t value) {
- uint32_t trailing_zero = 0;
+ unsigned long trailing_zero = 0;
if (_BitScanForward(&trailing_zero, value))
return trailing_zero;
return 32;
}
uint32_t __inline __builtin_clz(uint32_t value) {
- uint32_t leading_zero = 0;
+ unsigned long leading_zero = 0;
if (_BitScanReverse(&leading_zero, value))
return 31 - leading_zero;
return 32;
@@ -106,7 +106,7 @@ uint32_t __inline __builtin_clz(uint32_t value) {
#if defined(_M_ARM) || defined(_M_X64)
uint32_t __inline __builtin_clzll(uint64_t value) {
- uint32_t leading_zero = 0;
+ unsigned long leading_zero = 0;
if (_BitScanReverse64(&leading_zero, value))
return 63 - leading_zero;
return 64;
OpenPOWER on IntegriCloud