summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/deps/jemalloc/include/msvc_compat/strings.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/deps/jemalloc/include/msvc_compat/strings.h')
-rw-r--r--examples/redis-unstable/deps/jemalloc/include/msvc_compat/strings.h58
1 files changed, 0 insertions, 58 deletions
diff --git a/examples/redis-unstable/deps/jemalloc/include/msvc_compat/strings.h b/examples/redis-unstable/deps/jemalloc/include/msvc_compat/strings.h
deleted file mode 100644
index 996f256..0000000
--- a/examples/redis-unstable/deps/jemalloc/include/msvc_compat/strings.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef strings_h
-#define strings_h
-
-/* MSVC doesn't define ffs/ffsl. This dummy strings.h header is provided
- * for both */
-#ifdef _MSC_VER
-# include <intrin.h>
-# pragma intrinsic(_BitScanForward)
-static __forceinline int ffsl(long x) {
- unsigned long i;
-
- if (_BitScanForward(&i, x)) {
- return i + 1;
- }
- return 0;
-}
-
-static __forceinline int ffs(int x) {
- return ffsl(x);
-}
-
-# ifdef _M_X64
-# pragma intrinsic(_BitScanForward64)
-# endif
-
-static __forceinline int ffsll(unsigned __int64 x) {
- unsigned long i;
-#ifdef _M_X64
- if (_BitScanForward64(&i, x)) {
- return i + 1;
- }
- return 0;
-#else
-// Fallback for 32-bit build where 64-bit version not available
-// assuming little endian
- union {
- unsigned __int64 ll;
- unsigned long l[2];
- } s;
-
- s.ll = x;
-
- if (_BitScanForward(&i, s.l[0])) {
- return i + 1;
- } else if(_BitScanForward(&i, s.l[1])) {
- return i + 33;
- }
- return 0;
-#endif
-}
-
-#else
-# define ffsll(x) __builtin_ffsll(x)
-# define ffsl(x) __builtin_ffsl(x)
-# define ffs(x) __builtin_ffs(x)
-#endif
-
-#endif /* strings_h */