<div dir="ltr">Sorry, let me try to explain.<div>I've commited a patch with the tests for coverage mapping on Friday with all the tests that failed on some buildbots and all of the windows buildbots.</div><div>I've resubmitted the patch today with all the tests, but 2 of the tests need this commit to pass on windows.</div>
<div>All the tests are batched in a single patch because the code for coverage mapping generation was commited before the tests, and all of those tests</div><div>are required for the generation.</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2014-08-11 11:04 GMT-07:00 Chandler Carruth <span dir="ltr"><<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">I don't understand.<div><br></div><div>It is completely inappropriate to commit patches without the tests associated with them and batch all the tests into a single commit.</div><div><br></div><div>What is going on here?</div>

</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 11, 2014 at 11:03 AM, Alex L <span dir="ltr"><<a href="mailto:arphaman@gmail.com" target="_blank">arphaman@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The tests are at <a href="http://reviews.llvm.org/D4847" target="_blank">http://reviews.llvm.org/D4847</a>.</div>

<div class="gmail_extra"><br><br><div class="gmail_quote">2014-08-11 11:02 GMT-07:00 Chandler Carruth <span dir="ltr"><<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>></span>:<div><div>

<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Test case?<div><br></div><div>Please don't commit untested changes...</div></div><div>
<div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 11, 2014 at 10:45 AM, Alex Lorenz <span dir="ltr"><<a href="mailto:arphaman@gmail.com" target="_blank">arphaman@gmail.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: arphaman<br>
Date: Mon Aug 11 12:45:49 2014<br>
New Revision: 215365<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=215365&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=215365&view=rev</a><br>
Log:<br>
Coverage mapping: emit mapping for cxx constructors that use microsoft's ABI<br>
<br>
Modified:<br>
    cfe/trunk/lib/CodeGen/CodeGenPGO.cpp<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CodeGenPGO.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenPGO.cpp?rev=215365&r1=215364&r2=215365&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenPGO.cpp?rev=215365&r1=215364&r2=215365&view=diff</a><br>




==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CodeGenPGO.cpp (original)<br>
+++ cfe/trunk/lib/CodeGen/CodeGenPGO.cpp Mon Aug 11 12:45:49 2014<br>
@@ -847,8 +847,13 @@ void CodeGenPGO::checkGlobalDecl(GlobalD<br>
   // a class. Every function is instrumented, but we only want to provide<br>
   // coverage for one of them. Because of that we only emit the coverage mapping<br>
   // for the base constructor/destructor.<br>
+  // For Microsoft's C++ ABI Clang emits only the complete constructor,<br>
+  // therefore we have to emit the coverage mapping for it instead of the base<br>
+  // one.<br>
+  const CXXCtorType AcceptedCtor =<br>
+      CGM.getTarget().getCXXABI().isMicrosoft()? Ctor_Complete : Ctor_Base;<br>
   if ((isa<CXXConstructorDecl>(GD.getDecl()) &&<br>
-       GD.getCtorType() != Ctor_Base) ||<br>
+       GD.getCtorType() != AcceptedCtor) ||<br>
       (isa<CXXDestructorDecl>(GD.getDecl()) &&<br>
        GD.getDtorType() != Dtor_Base)) {<br>
     SkipCoverageMapping = true;<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>