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?
|
||||
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'])
|
||||
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
|
||||
|
||||
# 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
|
||||
# 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
|
||||
#
|
||||
# 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')
|
||||
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
|
||||
|
||||
def remove_mjit_logs(stderr)
|
||||
|
|
|
@ -1179,7 +1179,7 @@ class TestJIT < Test::Unit::TestCase
|
|||
insns
|
||||
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
|
||||
def leave_dsym?
|
||||
/darwin/ =~ RUBY_PLATFORM && @jit_debug
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue