<div dir="ltr">Great. I just submitted a patch that should fix all the remaining windows failures.<div><br></div><div>vsk plans to do the interface cleanup which matches what your patch is doing here.  This is a good segue.</div><div><br></div><div>David</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 14, 2017 at 10:57 AM, Reid Kleckner via Phabricator <span dir="ltr"><<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">rnk created this revision.<br>
<br>
Coverage and profiling tests have been failing on Windows since r300279:<br>
<a href="http://lab.llvm.org:8011/builders/clang-x86-windows-msvc2015/builds/4061" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/<wbr>builders/clang-x86-windows-<wbr>msvc2015/builds/4061</a><br>
<br>
Pass the object format to the section name lookup functions rather than<br>
the Module, since we can compute the object format from the object file.<br>
Add a helper to ObjectFile that can get the object format in Triple<br>
enum.<br>
<br>
There is a complication around MachO, which is that sometimes we want<br>
__DATA,__llvm_foo,regular,<wbr>live_support and sometimes we just want<br>
__llvm_foo. Typically llvm-cov wants the bare section name without the<br>
segment and flags, because it's looking the section name up in an<br>
executable. Currently I have a hack in the coverage reader to pretend<br>
that MachO files have an unknown object file type to suppress the<br>
segment prefix, but we can probably come up with a better API than that.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D32090" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D32090</a><br>
<br>
Files:<br>
  clang/lib/CodeGen/<wbr>CoverageMappingGen.cpp<br>
  llvm/include/llvm/Object/<wbr>ObjectFile.h<br>
  llvm/include/llvm/ProfileData/<wbr>InstrProf.h<br>
  llvm/include/llvm/Transforms/<wbr>InstrProfiling.h<br>
  llvm/lib/CodeGen/<wbr>TargetLoweringObjectFileImpl.<wbr>cpp<br>
  llvm/lib/Object/ObjectFile.cpp<br>
  llvm/lib/ProfileData/Coverage/<wbr>CoverageMappingReader.cpp<br>
  llvm/lib/ProfileData/<wbr>InstrProf.cpp<br>
  llvm/lib/Transforms/<wbr>Instrumentation/<wbr>InstrProfiling.cpp<br>
  llvm/lib/Transforms/<wbr>Instrumentation/<wbr>ThreadSanitizer.cpp<br>
  llvm/tools/llvm-cov/<wbr>TestingSupport.cpp<br>
<br>
</blockquote></div><br></div>