diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-09-02 08:47:33 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-09-02 08:47:47 +0900 |
commit | cb5a41c0a02962da838990853f5d6632d8abb92d (patch) | |
tree | 2783e3329b4860b8d1c86cdb4619e176953c55ae /lib | |
parent | 9c5ad5d42d026a1acc123e7597a4f92ef6e09e6b (diff) | |
download | ruby-cb5a41c0a02962da838990853f5d6632d8abb92d.tar.gz |
Get rid of incompatible-pointer-types-discards-qualifiers warning
Diffstat (limited to 'lib')
-rw-r--r-- | lib/mkmf.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 04b5f26a5e..cab9a3f646 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 # 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 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 |