46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
From 7dfe940d9a54d458e73c3485b53b8612cad6bb27 Mon Sep 17 00:00:00 2001
|
|
From: chen-jan <chen_aka_jan@163.com>
|
|
Date: Thu, 13 Jul 2023 17:07:22 +0800
|
|
Subject: [PATCH] Ruby-Fix-deprecation-warnings-with-Ruby-3.x
|
|
|
|
reference: https://github.com/swig/swig/commit/7dfe940d9a54d458e73c3485b53b8612cad6bb27
|
|
---
|
|
Lib/ruby/rubyhead.swg | 9 +++++----
|
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/Lib/ruby/rubyhead.swg b/Lib/ruby/rubyhead.swg
|
|
index bf4e362..42871ce 100644
|
|
--- a/Lib/ruby/rubyhead.swg
|
|
+++ b/Lib/ruby/rubyhead.swg
|
|
@@ -1,4 +1,5 @@
|
|
#include <ruby.h>
|
|
+#include <ruby/version.h> /* For RUBY_API_VERSION_CODE */
|
|
|
|
/* Ruby 1.9.1 has a "memoisation optimisation" when compiling with GCC which
|
|
* breaks using rb_intern as an lvalue, as SWIG does. We work around this
|
|
@@ -100,9 +101,9 @@
|
|
/*
|
|
* The following macros are used for providing the correct type of a
|
|
* function pointer to the Ruby C API.
|
|
- * Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
|
|
- * defined) these macros act transparently due to Ruby's moving away from
|
|
- * ANYARGS and instead employing strict function signatures.
|
|
+ *
|
|
+ * Starting with Ruby 2.7 these macros act transparently due to Ruby's moving
|
|
+ * moving away from ANYARGS and instead employing strict function signatures.
|
|
*
|
|
* Note: In case of C (not C++) the macros are transparent even before
|
|
* Ruby 2.7 due to the fact that the Ruby C API used function declarators
|
|
@@ -126,7 +127,7 @@
|
|
* SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
|
|
* argument(s) of Ruby C API functions like st_foreach().
|
|
*/
|
|
-#if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
|
|
+#if defined(__cplusplus) && RUBY_API_VERSION_CODE < 20700
|
|
# define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
|
|
# define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
|
|
# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
|
|
--
|
|
2.39.1
|
|
|