Fix AO_SIZE_MAX definition (Linux/musl-gcc)
authorIvan Maidanski <ivmai@mail.ru>
Wed, 15 Mar 2017 08:27:48 +0000 (11:27 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 15 Mar 2017 08:27:48 +0000 (11:27 +0300)
(fix commit b1365bd)

* src/atomic_ops_malloc.c [SIZE_MAX && !CPPCHECK] (AO_SIZE_MAX): Cast
SIZE_MAX to size_t explicitly (to workaround incorrect definition
of SIZE_MAX - e.g. it is defined as ~0ULL in musl-tools which is not
correct for a 32-bit target).

src/atomic_ops_malloc.c

index 77faa4e..8f0a274 100644 (file)
@@ -141,7 +141,8 @@ static char *get_mmaped(size_t sz)
 # include <limits.h>
 #endif
 #if defined(SIZE_MAX) && !defined(CPPCHECK)
-# define AO_SIZE_MAX SIZE_MAX
+# define AO_SIZE_MAX ((size_t)SIZE_MAX)
+            /* Extra cast to workaround some buggy SIZE_MAX definitions. */
 #else
 # define AO_SIZE_MAX (~(size_t)0)
 #endif