diff --git a/ChangeLog b/ChangeLog index 5ad2d12977..bd20b47286 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri May 3 13:29:11 2013 Nobuyoshi Nakada + + * include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): also + should be defined when defining intptr_t and uintptr_t. + bigdecimal.c requires the former two now. + Fri May 3 13:22:12 2013 Nobuyoshi Nakada * win32/win32.c (poll_child_status): fix build error on older mingw. diff --git a/include/ruby/win32.h b/include/ruby/win32.h index 56fa3e5c0c..fe8613f299 100644 --- a/include/ruby/win32.h +++ b/include/ruby/win32.h @@ -80,16 +80,21 @@ extern "C++" { /* template without extern "C++" */ # if !defined(_INTPTR_T_DEFINED) # ifdef _WIN64 typedef __int64 intptr_t; +# define INTPTR_MAX 9223372036854775807I64 # else typedef int intptr_t; +# define INTPTR_MAX 2147483647 # endif +# define INTPTR_MIN (-INTPTR_MAX-1) # define _INTPTR_T_DEFINED # endif # if !defined(_UINTPTR_T_DEFINED) # ifdef _WIN64 typedef unsigned __int64 uintptr_t; +# define UINTPTR_MAX 18446744073709551615UI64 # else typedef unsigned int uintptr_t; +# define UINTPTR_MAX 4294967295U # endif # define _UINTPTR_T_DEFINED # endif