From bd8dc2561d4983df7bf44dbc6ca194930532adc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?= Date: Tue, 27 Aug 2019 12:29:00 +0900 Subject: struct MEMO now free from ANYARGS After 5e86b005c0f2ef30df2f9906c7e2f3abefe286a2, I now think ANYARGS is dangerous and should be extinct. There is only one usage of MEMO::u3::func in load.c (where void Init_Foobar(vodi) is registered) so why not just be explicit. --- internal.h | 2 +- load.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal.h b/internal.h index 5e73c11133..7d6bf1ec72 100644 --- a/internal.h +++ b/internal.h @@ -1245,7 +1245,7 @@ struct MEMO { long cnt; long state; const VALUE value; - VALUE (*func)(ANYARGS); + void (*func)(void); } u3; }; diff --git a/load.c b/load.c index bc7abf1521..3a21f5c0cf 100644 --- a/load.c +++ b/load.c @@ -728,7 +728,7 @@ load_lock(const char *ftptr) } else if (imemo_type_p(data, imemo_memo)) { struct MEMO *memo = MEMO_CAST(data); - void (*init)(void) = (void (*)(void))memo->u3.func; + void (*init)(void) = memo->u3.func; data = (st_data_t)rb_thread_shield_new(); st_insert(loading_tbl, (st_data_t)ftptr, data); (*init)(); -- cgit v1.2.3