diff --git a/ChangeLog b/ChangeLog index 3f624ef92c..265eb22fd3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Jul 10 18:49:56 2007 Koichi Sasada + + * eval.c (exec_under): add proper casts. + Tue Jul 10 16:58:16 2007 Koichi Sasada * vm.c, insnhelper.ci: fix svar interface. diff --git a/eval.c b/eval.c index 6edef41ff5..3212de09d9 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) {