From 95c52c8e6c2e0ac8ea690ca8ae5141a0fde49e24 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 14 Apr 2010 07:29:04 +0000 Subject: * gc.c (GET_STACK_BOUNDS): fixed macro argument names. a patch from Satoshi Shiba at [ruby-dev:40973]. * gc.h (ruby_get_stack_grow_direction): fixed prototype. * thread_pthread.c (get_stack, ruby_stack_overflowed_p): both side should be same type. [Bug #3145] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ gc.c | 2 +- gc.h | 2 +- thread_pthread.c | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1989eaca1e..b1bd6e67cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Wed Apr 14 16:29:02 2010 Nobuyoshi Nakada + + * gc.c (GET_STACK_BOUNDS): fixed macro argument names. a patch from + Satoshi Shiba at [ruby-dev:40973]. + + * gc.h (ruby_get_stack_grow_direction): fixed prototype. + + * thread_pthread.c (get_stack, ruby_stack_overflowed_p): both side + should be same type. [Bug #3145] + Wed Apr 14 15:58:11 2010 Nobuyoshi Nakada * string.c (rb_string_value_cstr): make NUL terminated if it is diff --git a/gc.c b/gc.c index 9761a06a39..b3019c8bf3 100644 --- a/gc.c +++ b/gc.c @@ -2099,7 +2099,7 @@ void rb_vm_mark(void *ptr); #elif STACK_GROW_DIRECTION > 0 #define GET_STACK_BOUNDS(start, end, appendix) (start = STACK_START, end = STACK_END+appendix) #else -#define GET_STACK_BOUNDS(stack_start, stack_end, appendix) \ +#define GET_STACK_BOUNDS(start, end, appendix) \ ((STACK_END < STACK_START) ? \ (start = STACK_END, end = STACK_START) : (start = STACK_START, end = STACK_END+appendix)) #endif diff --git a/gc.h b/gc.h index d835b9b6d2..1b112f8459 100644 --- a/gc.h +++ b/gc.h @@ -66,7 +66,7 @@ rb_gc_debug_body(const char *mode, const char *msg, int st, void *ptr) # define STACK_UPPER(x, a, b) b #else RUBY_EXTERN int ruby_stack_grow_direction; -int ruby_get_stack_grow_direction(VALUE *addr); +int ruby_get_stack_grow_direction(volatile VALUE *addr); # define stack_growup_p(x) ( \ (ruby_stack_grow_direction ? \ ruby_stack_grow_direction : \ diff --git a/thread_pthread.c b/thread_pthread.c index 8cfc637735..e6295db3cb 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -221,7 +221,7 @@ get_stack(void **addr, size_t *size) # endif if (pthread_attr_getguardsize(&attr, &guard) == 0) { STACK_GROW_DIR_DETECTION; - STACK_DIR_UPPER((void)0, *addr = (char *)*addr + guard); + STACK_DIR_UPPER((void)0, (void)(*addr = (char *)*addr + guard)); *size -= guard; } # else @@ -850,7 +850,7 @@ ruby_stack_overflowed_p(const rb_thread_t *th, const void *addr) } #ifdef STACKADDR_AVAILABLE else if (get_stack(&base, &size) == 0) { - STACK_DIR_UPPER(base = (char *)base + size, (void)0); + STACK_DIR_UPPER((void)(base = (char *)base + size), (void)0); } #endif else { -- cgit v1.2.3