mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Skip pdb corruption on Visual Studio 2015 as well
It turned out that the pdb corruption happens on Visual Studio 2015 as
well.
32602953/job/3gj43q18wqeiy729
This commit is contained in:
parent
e0c023d1c8
commit
a218cbdf31
2 changed files with 6 additions and 6 deletions
|
@ -54,21 +54,21 @@ module JITSupport
|
||||||
|
|
||||||
def supported?
|
def supported?
|
||||||
return @supported if defined?(@supported)
|
return @supported if defined?(@supported)
|
||||||
@supported = UNSUPPORTED_COMPILERS.all? do |regexp|
|
@supported = RbConfig::CONFIG["MJIT_SUPPORT"] != 'no' && UNSUPPORTED_COMPILERS.all? do |regexp|
|
||||||
!regexp.match?(RbConfig::CONFIG['MJIT_CC'])
|
!regexp.match?(RbConfig::CONFIG['MJIT_CC'])
|
||||||
end && RbConfig::CONFIG["MJIT_SUPPORT"] != 'no' && !PENDING_RUBYCI_NICKNAMES.include?(ENV['RUBYCI_NICKNAME']) && !vs120_pdb_corrupted? && /mingw/ !~ RUBY_PLATFORM && /solaris/ !~ RUBY_PLATFORM # TODO: remove mingw / solaris exclusion after investigation
|
end && !appveyor_pdb_corrupted? && !PENDING_RUBYCI_NICKNAMES.include?(ENV['RUBYCI_NICKNAME']) && /mingw/ !~ RUBY_PLATFORM && /solaris/ !~ RUBY_PLATFORM # TODO: remove mingw / solaris exclusion after investigation
|
||||||
end
|
end
|
||||||
|
|
||||||
# AppVeyor's Visual Studio 2013 is known to spuriously generate broken pch / pdb, like:
|
# AppVeyor's Visual Studio 2013 / 2015 are known to spuriously generate broken pch / pdb, like:
|
||||||
# error C2859: c:\projects\ruby\x64-mswin_120\include\ruby-2.8.0\x64-mswin64_120\rb_mjit_header-2.8.0.pdb
|
# error C2859: c:\projects\ruby\x64-mswin_120\include\ruby-2.8.0\x64-mswin64_120\rb_mjit_header-2.8.0.pdb
|
||||||
# is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.
|
# is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.
|
||||||
# https://ci.appveyor.com/project/ruby/ruby/builds/32159878/job/l2p38snw8yxxpp8h
|
# https://ci.appveyor.com/project/ruby/ruby/builds/32159878/job/l2p38snw8yxxpp8h
|
||||||
#
|
#
|
||||||
# Until we figure out why, this allows us to skip testing JIT when it happens.
|
# Until we figure out why, this allows us to skip testing JIT when it happens.
|
||||||
def vs120_pdb_corrupted?
|
def appveyor_pdb_corrupted?
|
||||||
return false unless ENV.key?('APPVEYOR')
|
return false unless ENV.key?('APPVEYOR')
|
||||||
stdout, _stderr, _status = eval_with_jit_without_retry('proc {}.call', verbose: 2, min_calls: 1)
|
stdout, _stderr, _status = eval_with_jit_without_retry('proc {}.call', verbose: 2, min_calls: 1)
|
||||||
stdout.include?('x64-mswin64_120') && stdout.include?('.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.')
|
stdout.include?('.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.')
|
||||||
end
|
end
|
||||||
|
|
||||||
def remove_mjit_logs(stderr)
|
def remove_mjit_logs(stderr)
|
||||||
|
|
|
@ -1179,7 +1179,7 @@ class TestJIT < Test::Unit::TestCase
|
||||||
insns
|
insns
|
||||||
end
|
end
|
||||||
|
|
||||||
# `clang -g` on macOS creates a .dSYM file. Because it's only created on --jit-debug,
|
# `clang -g` on macOS creates a .dSYM directory. As it's only created on --jit-debug,
|
||||||
# we're ignoring it for now. TODO: remove .dSYM file
|
# we're ignoring it for now. TODO: remove .dSYM file
|
||||||
def leave_dsym?
|
def leave_dsym?
|
||||||
/darwin/ =~ RUBY_PLATFORM && @jit_debug
|
/darwin/ =~ RUBY_PLATFORM && @jit_debug
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue