mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* configure.in (warnflags): add -Werror=implicit-function-declaration
if available. * lib/mkmf.rb (init_mkmf): ignore warnings in mkmf tests. * test/mkmf/base.rb (setup, teardown): restore config values. * test/mkmf/test_flags.rb: split from test_find_executable.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ca6a75cd38
commit
b794a2bd8c
6 changed files with 103 additions and 24 deletions
35
test/mkmf/test_flags.rb
Normal file
35
test/mkmf/test_flags.rb
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
require_relative 'base'
|
||||
|
||||
class TestMkmf
|
||||
class TestFlags < TestMkmf
|
||||
def test_valid_warnflags
|
||||
val = $extmk
|
||||
warnflags = $warnflags
|
||||
makefile = mkmf do
|
||||
$extmk = false
|
||||
self.class::CONFIG['warnflags'] = %w"-Wextra
|
||||
-Wno-unused-parameter -Wno-parentheses -Wno-long-long
|
||||
-Wno-missing-field-initializers -Werror=pointer-arith
|
||||
-Werror=write-strings -Werror=declaration-after-statement
|
||||
-Werror=shorten-64-to-32
|
||||
-Werror-implicit-function-declaration
|
||||
".join(' ')
|
||||
self.class::CONFIG['GCC'] = 'yes'
|
||||
init_mkmf(self.class::CONFIG)
|
||||
configuration '.'
|
||||
end
|
||||
generated_flags = makefile.grep(/warnflags/).first[/^warnflags = (.*)$/, 1].split
|
||||
|
||||
assert_equal %w"
|
||||
-Wextra -Wno-unused-parameter -Wno-parentheses
|
||||
-Wno-long-long -Wno-missing-field-initializers -Wpointer-arith
|
||||
-Wwrite-strings -Wdeclaration-after-statement
|
||||
-Wshorten-64-to-32 -Wimplicit-function-declaration
|
||||
", generated_flags
|
||||
|
||||
ensure
|
||||
$warnflags = warnflags
|
||||
$extmk = val
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue