]> granicus.if.org Git - gc/commitdiff
Fix GC_SIZE_MAX definition (Linux/musl-gcc)
authorIvan Maidanski <ivmai@mail.ru>
Tue, 14 Mar 2017 22:58:41 +0000 (01:58 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Fri, 7 Apr 2017 15:26:53 +0000 (18:26 +0300)
(Cherry-pick commit f40fab8 from 'release-7_6' branch.)

* include/private/gc_priv.h [SIZE_MAX] (GC_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).

include/private/gc_priv.h

index 38403379b5ba8f06487798ecd0f47f75ed1b07ef..38eba5958bf2b65c6ed29fcd47db309c0c89cb9b 100644 (file)
@@ -94,7 +94,8 @@ typedef char * ptr_t;   /* A generic pointer to which we can add        */
 # include <limits.h>
 #endif
 #ifdef SIZE_MAX
-# define GC_SIZE_MAX SIZE_MAX
+# define GC_SIZE_MAX ((size_t)SIZE_MAX)
+            /* Extra cast to workaround some buggy SIZE_MAX definitions. */
 #else
 # define GC_SIZE_MAX (~(size_t)0)
 #endif