* lib/mkmf.rb: get rid of warnings of mkmf.rb if -Wmissing-declarations

and/or -Wold-style-definition warnings if specified.
  Patch by Nikolai Weibull. Thank you! [Bug #5459] [ruby-core:40200]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kosaki 2011-11-24 23:02:44 +00:00
parent 450c2094be
commit b418bc9be4
2 changed files with 17 additions and 6 deletions

View File

@ -1,3 +1,9 @@
Fri Nov 25 08:00:23 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* lib/mkmf.rb: get rid of warnings of mkmf.rb if -Wmissing-declarations
and/or -Wold-style-definition warnings if specified.
Patch by Nikolai Weibull. Thank you! [Bug #5459] [ruby-core:40200]
Fri Nov 25 07:56:49 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* configure.in: remove [read buffer ptr field in FILE structures] check.

View File

@ -643,13 +643,15 @@ def try_func(func, libs, headers = nil, opt = "", &b)
#{headers}
/*top*/
#{MAIN_DOES_NOTHING}
int t() { #{decltype["volatile p"]}; p = (#{decltype[]})#{func}; return 0; }
extern int t(void);
int t(void) { #{decltype["volatile p"]}; p = (#{decltype[]})#{func}; return 0; }
SRC
call && try_link(<<"SRC", opt, &b)
#{headers}
/*top*/
#{MAIN_DOES_NOTHING}
int t() { #{call}; return 0; }
extern int t(void);
int t(void) { #{func}(); return 0; }
SRC
end
@ -660,7 +662,8 @@ def try_var(var, headers = nil, opt = "", &b)
#{headers}
/*top*/
#{MAIN_DOES_NOTHING}
int t() { const volatile void *volatile p; p = &(&#{var})[0]; return 0; }
extern int t(void);
int t(void) { const volatile void *volatile p; p = &(&#{var})[0]; return 0; }
SRC
end
@ -1276,7 +1279,8 @@ def scalar_ptr_type?(type, member = nil, headers = nil, &b)
/*top*/
volatile #{type} conftestval;
#{MAIN_DOES_NOTHING}
int t() {return (int)(1-*(conftestval#{member ? ".#{member}" : ""}));}
extern int t(void);
int t(void) {return (int)(1-*(conftestval#{member ? ".#{member}" : ""}));}
SRC
end
@ -1288,7 +1292,8 @@ def scalar_type?(type, member = nil, headers = nil, &b)
/*top*/
volatile #{type} conftestval;
#{MAIN_DOES_NOTHING}
int t() {return (int)(1-(conftestval#{member ? ".#{member}" : ""}));}
extern int t(void);
int t(void) {return (int)(1-(conftestval#{member ? ".#{member}" : ""}));}
SRC
end
@ -2308,7 +2313,7 @@ LINK_SO = config_string('LINK_SO') ||
LIBPATHFLAG = config_string('LIBPATHFLAG') || ' -L"%s"'
RPATHFLAG = config_string('RPATHFLAG') || ''
LIBARG = config_string('LIBARG') || '-l%s'
MAIN_DOES_NOTHING = config_string('MAIN_DOES_NOTHING') || 'int main() {return 0;}'
MAIN_DOES_NOTHING = config_string('MAIN_DOES_NOTHING') || 'int main(void) {return 0;}'
UNIVERSAL_INTS = config_string('UNIVERSAL_INTS') {|s| Shellwords.shellwords(s)} ||
%w[int short long long\ long]