]> granicus.if.org Git - libatomic_ops/commitdiff
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>
Fri, 31 Mar 2017 15:12:19 +0000 (18:12 +0300)
(Cherry-pick commit 7a99c0f from 'master' branch.)

* 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 c8061b14edca7597bb6513498da82f90f57963ca..c400c034b3d15f080e8719f71d769819d0e5b46f 100644 (file)
@@ -140,7 +140,8 @@ static char *get_mmaped(size_t sz)
 # include <limits.h>
 #endif
 #ifdef SIZE_MAX
-# 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