summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-10 09:52:21 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-10 09:52:21 +0000
commit3b39ee96eb789b10b96587947dc47e15b8038a5f (patch)
tree4a583ccce286347f7fb28a8003ef89b8535aa9fe
parent3db23a0effe27b9d5b68fd687a29d3dc4a93f865 (diff)
downloadruby-3b39ee96eb789b10b96587947dc47e15b8038a5f.tar.gz
ruby-3b39ee96eb789b10b96587947dc47e15b8038a5f.tar.xz
ruby-3b39ee96eb789b10b96587947dc47e15b8038a5f.zip
* eval.c (exec_under): add proper casts.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--eval.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 3f624ef92..265eb22fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Jul 10 18:49:56 2007 Koichi Sasada <ko1@atdot.net>
+
+ * eval.c (exec_under): add proper casts.
+
Tue Jul 10 16:58:16 2007 Koichi Sasada <ko1@atdot.net>
* vm.c, insnhelper.ci: fix svar interface.
diff --git a/eval.c b/eval.c
index 6edef41ff..3212de09d 100644
--- a/eval.c
+++ b/eval.c
@@ -1813,8 +1813,8 @@ exec_under(VALUE (*func) (VALUE), VALUE under, VALUE self, VALUE args)
cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp);
}
- stored_cref = vm_cfp_svar_get(th, cfp, -1);
- vm_cfp_svar_set(th, cfp, -1, vm_cref_push(th, under, NOEX_PUBLIC));
+ stored_cref = (NODE *)vm_cfp_svar_get(th, cfp, (VALUE)-1);
+ vm_cfp_svar_set(th, cfp, (VALUE)-1, (VALUE)vm_cref_push(th, under, NOEX_PUBLIC));
PUSH_TAG();
if ((state = EXEC_TAG()) == 0) {
@@ -1823,7 +1823,7 @@ exec_under(VALUE (*func) (VALUE), VALUE under, VALUE self, VALUE args)
POP_TAG();
/* restore environment */
- vm_cfp_svar_set(th, cfp, -1, stored_cref);
+ vm_cfp_svar_set(th, cfp, (VALUE)-1, (VALUE)stored_cref);
pcfp->self = stored_self;
if (state) {