aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--lib/mkmf.rb17
2 files changed, 17 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 915a06b54e..641216da3a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index a0779237f8..aa545de3f8 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -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]