summaryrefslogtreecommitdiff
path: root/vm_insnhelper.c
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2022-09-13 16:26:33 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2022-09-21 11:44:09 +0900
commit06cb0305161eaae0f006ffb3a7f341a5771f239f (patch)
tree1a13d18bc4e8cf36b271002538375f2d94938f08 /vm_insnhelper.c
parent406ebb25a017dba5b066a42a1c325e57fa644e95 (diff)
vm_insnhelper.c: add casts
Why they have not been at the first place? Siblings have proper casts.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6358
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r--vm_insnhelper.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index c68872a9bf..8a82a8db32 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -2700,14 +2700,16 @@ static VALUE
call_cfunc_m2(VALUE recv, int argc, const VALUE *argv, VALUE (*func)(ANYARGS))
{
ractor_unsafe_check();
- return (*func)(recv, rb_ary_new4(argc, argv));
+ VALUE(*f)(VALUE, VALUE) = (VALUE(*)(VALUE, VALUE))func;
+ return (*f)(recv, rb_ary_new4(argc, argv));
}
static VALUE
call_cfunc_m1(VALUE recv, int argc, const VALUE *argv, VALUE (*func)(ANYARGS))
{
ractor_unsafe_check();
- return (*func)(argc, argv, recv);
+ VALUE(*f)(int, const VALUE *, VALUE) = (VALUE(*)(int, const VALUE *, VALUE))func;
+ return (*f)(argc, argv, recv);
}
static VALUE
@@ -2841,13 +2843,15 @@ call_cfunc_15(VALUE recv, int argc, const VALUE *argv, VALUE (*func)(ANYARGS))
static VALUE
ractor_safe_call_cfunc_m2(VALUE recv, int argc, const VALUE *argv, VALUE (*func)(ANYARGS))
{
- return (*func)(recv, rb_ary_new4(argc, argv));
+ VALUE(*f)(VALUE, VALUE) = (VALUE(*)(VALUE, VALUE))func;
+ return (*f)(recv, rb_ary_new4(argc, argv));
}
static VALUE
ractor_safe_call_cfunc_m1(VALUE recv, int argc, const VALUE *argv, VALUE (*func)(ANYARGS))
{
- return (*func)(argc, argv, recv);
+ VALUE(*f)(int, const VALUE *, VALUE) = (VALUE(*)(int, const VALUE *, VALUE))func;
+ return (*f)(argc, argv, recv);
}
static VALUE