[前][次][番号順一覧][スレッド一覧]

ruby-changes:67546

From: Nobuyoshi <ko1@a...>
Date: Thu, 2 Sep 2021 09:12:32 +0900 (JST)
Subject: [ruby-changes:67546] cb5a41c0a0 (master): Get rid of incompatible-pointer-types-discards-qualifiers warning

https://git.ruby-lang.org/ruby.git/commit/?id=cb5a41c0a0

From cb5a41c0a02962da838990853f5d6632d8abb92d Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Thu, 2 Sep 2021 08:47:33 +0900
Subject: Get rid of incompatible-pointer-types-discards-qualifiers warning

---
 lib/mkmf.rb | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 04b5f26..cab9a3f 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -771,11 +771,20 @@ int main() {printf("%"PRI_CONFTEST_PREFIX"#{neg ? 'd' : 'u'}\\n", conftest_const https://github.com/ruby/ruby/blob/trunk/lib/mkmf.rb#L771
   #             files.
   def try_func(func, libs, headers = nil, opt = "", &b)
     headers = cpp_include(headers)
+    prepare = String.new
     case func
     when /^&/
       decltype = proc {|x|"const volatile void *#{x}"}
     when /\)$/
-      call = func
+      strvars = []
+      call = func.gsub(/""/) {
+        v = "s#{strvars.size + 1}"
+        strvars << v
+        v
+      }
+      unless strvars.empty?
+        prepare << "char " << strvars.map {|v| "#{v}[1024]"}.join(", ") << "; "
+      end
     when nil
       call = ""
     else
@@ -805,7 +814,7 @@ SRC https://github.com/ruby/ruby/blob/trunk/lib/mkmf.rb#L814
 extern int t(void);
 #{MAIN_DOES_NOTHING 't'}
 #{"extern void #{call};" if decltype}
-int t(void) { #{call}; return 0; }
+int t(void) { #{prepare}#{call}; return 0; }
 SRC
   end
 
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]