commit 13b28063f9f2a3d2a587eabac358452a42277052
parent 72e0dc0822deb8587b3cae2edf584ece13cb6bb8
Author: rl1987 <rl1987@sdf.lonestar.org>
Date: Fri, 22 Mar 2019 12:57:58 +0200
Compile time check for being able to fit {unsigned} int inside void pointer
Diffstat:
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/configure.ac b/configure.ac
@@ -1588,6 +1588,7 @@ AC_CHECK_MEMBERS([struct timeval.tv_sec], , ,
AC_CHECK_SIZEOF(char)
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(unsigned int)
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(__int64)
diff --git a/src/test/test_ptr_slow.c b/src/test/test_ptr_slow.c
@@ -11,6 +11,15 @@
#include <stdint.h>
#include <limits.h>
+#if SIZEOF_INT > SIZEOF_VOID_P
+#error "sizeof(int) > sizeof(void *) - Tor cannot be built on this platform!"
+#endif
+
+#if SIZEOF_UNSIGNED_INT > SIZEOF_VOID_P
+#error "sizeof(unsigned int) > sizeof(void *) - Tor cannot be built on this \
+platform!"
+#endif
+
/** Assert that <b>a</b> can be cast to void * and back. */
static void
assert_int_voidptr_roundtrip(int a)