Fix compilation of timeout.c with our flags and warnings.

This commit is contained in:
Nick Mathewson
2016-04-13 09:13:33 -04:00
parent 05499b6ded
commit 9d6c530015
3 changed files with 14 additions and 2 deletions
+6 -1
View File
@@ -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