diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | insns.def | 2 | ||||
-rw-r--r-- | vm_insnhelper.c | 4 |
3 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Thu Aug 13 16:31:10 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * insns.def (opt_case_dispatch): suppressed a warning. + + * vm_insnhelper.c (opt_case_dispatch_i): ditto. + Thu Aug 13 16:20:07 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in, Makefile.in (MAKEDIRS): used MKDIR_P instead of @@ -1247,7 +1247,7 @@ opt_case_dispatch key, -1 }; - st_foreach(RHASH_TBL(hash), opt_case_dispatch_i, &arg); + st_foreach(RHASH_TBL(hash), opt_case_dispatch_i, (st_data_t)&arg); if (arg.label != -1) { JUMP(arg.label); diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 07aa24468b..24f4e0133d 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -1599,8 +1599,10 @@ struct opt_case_dispatch_i_arg { }; static int -opt_case_dispatch_i(st_data_t key, st_data_t data, struct opt_case_dispatch_i_arg *arg) +opt_case_dispatch_i(st_data_t key, st_data_t data, void *p) { + struct opt_case_dispatch_i_arg *arg = p; + if (RTEST(rb_funcall((VALUE)key, idEqq, 1, arg->obj))) { arg->label = FIX2INT((VALUE)data); return ST_STOP; |