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

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

View file

@ -23,6 +23,9 @@
* USE OR OTHER DEALINGS IN THE SOFTWARE.
* ==========================================================================
*/
#ifdef HAVE_CONFIG_H
#include "orconfig.h"
#endif
#include <limits.h> /* CHAR_BIT */
#include <stddef.h> /* NULL */
@ -39,6 +42,10 @@
#include "timeout.h"
#ifndef TIMEOUT_DEBUG
#define TIMEOUT_DEBUG 0
#endif
#if TIMEOUT_DEBUG - 0
#include "timeout-debug.h"
#endif

View file

@ -90,7 +90,7 @@ typedef uint64_t timeout_t;
#ifndef TIMEOUT_CB_OVERRIDE
struct timeout_cb {
void (*fn)();
void (*fn)(void);
void *arg;
}; /* struct timeout_cb */
#endif