summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--insns.def2
-rw-r--r--vm_insnhelper.c4
3 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 136dd684c..3e196edd4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/insns.def b/insns.def
index dfae799b3..1c2e9d575 100644
--- a/insns.def
+++ b/insns.def
@@ -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 07aa24468..24f4e0133 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;