aboutsummaryrefslogtreecommitdiff
path: root/src/ext/timeouts/timeout-bitops.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-04-13 09:13:33 -0400
committerNick Mathewson <nickm@torproject.org>2016-04-15 09:03:22 -0400
commit9d6c530015e4eefd7b333885eaeca1f9fcbc6578 (patch)
treee8e9f3912b0cadfe856e531166f63a4a63f74974 /src/ext/timeouts/timeout-bitops.c
parent05499b6ded25b5cbc8b16916fa9c0a39407ab10f (diff)
downloadtor-9d6c530015e4eefd7b333885eaeca1f9fcbc6578.tar.gz
tor-9d6c530015e4eefd7b333885eaeca1f9fcbc6578.zip
Fix compilation of timeout.c with our flags and warnings.
Diffstat (limited to 'src/ext/timeouts/timeout-bitops.c')
-rw-r--r--src/ext/timeouts/timeout-bitops.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ext/timeouts/timeout-bitops.c b/src/ext/timeouts/timeout-bitops.c
index d8325db3b4..a018f33b95 100644
--- a/src/ext/timeouts/timeout-bitops.c
+++ b/src/ext/timeouts/timeout-bitops.c
@@ -1,4 +1,5 @@
#include <stdint.h>
+#include <limits.h>
#ifdef _MSC_VER
#include <intrin.h> /* _BitScanForward, _BitScanReverse */
#endif
@@ -7,12 +8,16 @@
* you want them to be fast. */
#if defined(__GNUC__) && !defined(TIMEOUT_DISABLE_GNUC_BITOPS)
+#ifndef LONG_BIT
+#define LONG_BIT (SIZEOF_LONG*CHAR_BIT)
+#endif
+
/* On GCC and clang and some others, we can use __builtin functions. They
* are not defined for n==0, but timeout.s never calls them with n==0. */
#define ctz64(n) __builtin_ctzll(n)
#define clz64(n) __builtin_clzll(n)
-#if LONG_BITS == 32
+#if LONG_BIT == 32
#define ctz32(n) __builtin_ctzl(n)
#define clz32(n) __builtin_clzl(n)
#else