From 1afd0358e32467f6e33a233e16355a26e21215c4 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Thu, 23 Feb 2012 15:34:28 +0100 Subject: [PATCH] An unsigned int may be too short with 64bits pointers. --- src/xbt/mmalloc/mmprivate.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/xbt/mmalloc/mmprivate.h b/src/xbt/mmalloc/mmprivate.h index 62df14dd4d..9de088688a 100644 --- a/src/xbt/mmalloc/mmprivate.h +++ b/src/xbt/mmalloc/mmprivate.h @@ -18,6 +18,7 @@ #include "xbt/mmalloc.h" #include "xbt/ex.h" #include +#include #ifdef HAVE_LIMITS_H # include @@ -62,8 +63,8 @@ sign of the result is machine dependent for negative values, so force it to be treated as an unsigned int. */ -#define ADDR2UINT(addr) ((unsigned int) ((char*) (addr) - (char*) NULL)) -#define RESIDUAL(addr,bsize) ((unsigned int) (ADDR2UINT (addr) % (bsize))) +#define ADDR2UINT(addr) ((uintptr_t) ((char*) (addr) - (char*) NULL)) +#define RESIDUAL(addr,bsize) ((uintptr_t) (ADDR2UINT (addr) % (bsize))) /* Determine the amount of memory spanned by the initial heap table (not an absolute limit). */ -- 2.20.1