From 98c33acc75b86de2d00359313b005a1e0414fcd7 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 22 Dec 2025 13:55:42 +0900 Subject: [PATCH] mruby.h: fix build with MRB_NO_METHOD_CACHE mrb_method_cache_clear() was called unconditionally from class.c and state.c, but the function definition was guarded by MRB_NO_METHOD_CACHE. This caused linker errors when building with MRB_NO_METHOD_CACHE defined. Add empty macro definition when MRB_NO_METHOD_CACHE is defined, matching the existing pattern used for mrb_mc_clear_by_class(). Co-authored-by: Claude --- include/mruby.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/mruby.h b/include/mruby.h index a0fb07442..136018f9a 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1268,7 +1268,11 @@ MRB_API mrb_state* mrb_open_core(void); * Pointer to the mrb_state to be closed. */ MRB_API void mrb_close(mrb_state *mrb); +#ifndef MRB_NO_METHOD_CACHE MRB_API void mrb_method_cache_clear(mrb_state *mrb); +#else +#define mrb_method_cache_clear(mrb) ((void)0) +#endif /** * Check if mrb_open() failed