summaryrefslogtreecommitdiff
path: root/ruby.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-04-19 05:31:58 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-04-19 05:31:58 +0000
commit0d6f4f36682f5dd9d8932e931104ba40f0325ed0 (patch)
tree15cf4bf24244d6f071ec62804d68e1f70c082987 /ruby.h
parent7a45568809251ea36af73a070f75925feae973a7 (diff)
* eval.c (ruby_cleanup): the order of local variables on stack is
undefined. should use outermost VALUE for ruby_init_stack. * gc.c (rb_stack_growup_p): returns stack grows up. * gc.c (Init_stack, ruby_init_stack): allows volatile pointer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.h')
-rw-r--r--ruby.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/ruby.h b/ruby.h
index eebd5b2851..c13da1dfd1 100644
--- a/ruby.h
+++ b/ruby.h
@@ -594,14 +594,14 @@ NORETURN(void rb_throw _((const char*,VALUE)));
VALUE rb_require _((const char*));
#ifdef __ia64
-void ruby_init_stack(VALUE*, void*);
+void ruby_init_stack(volatile VALUE*, void*);
#define ruby_init_stack(addr) ruby_init_stack(addr, rb_ia64_bsp())
#else
-void ruby_init_stack(VALUE*);
+void ruby_init_stack(volatile VALUE*);
#endif
#define Init_stack(addr) ruby_init_stack(addr)
#define RUBY_INIT_STACK \
- VALUE variable_in_this_stack_frame; \
+ volatile VALUE variable_in_this_stack_frame; \
ruby_init_stack(&variable_in_this_stack_frame);
void ruby_init _((void));