r215365 - Coverage mapping: emit mapping for cxx constructors that use microsoft's ABI

Chandler Carruth chandlerc at google.com
Mon Aug 11 11:04:39 PDT 2014


I don't understand.

It is completely inappropriate to commit patches without the tests
associated with them and batch all the tests into a single commit.

What is going on here?


On Mon, Aug 11, 2014 at 11:03 AM, Alex L <arphaman at gmail.com> wrote:

> The tests are at http://reviews.llvm.org/D4847.
>
>
> 2014-08-11 11:02 GMT-07:00 Chandler Carruth <chandlerc at google.com>:
>
> Test case?
>>
>> Please don't commit untested changes...
>>
>>
>> On Mon, Aug 11, 2014 at 10:45 AM, Alex Lorenz <arphaman at gmail.com> wrote:
>>
>>> Author: arphaman
>>> Date: Mon Aug 11 12:45:49 2014
>>> New Revision: 215365
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=215365&view=rev
>>> Log:
>>> Coverage mapping: emit mapping for cxx constructors that use microsoft's
>>> ABI
>>>
>>> Modified:
>>>     cfe/trunk/lib/CodeGen/CodeGenPGO.cpp
>>>
>>> Modified: cfe/trunk/lib/CodeGen/CodeGenPGO.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenPGO.cpp?rev=215365&r1=215364&r2=215365&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/lib/CodeGen/CodeGenPGO.cpp (original)
>>> +++ cfe/trunk/lib/CodeGen/CodeGenPGO.cpp Mon Aug 11 12:45:49 2014
>>> @@ -847,8 +847,13 @@ void CodeGenPGO::checkGlobalDecl(GlobalD
>>>    // a class. Every function is instrumented, but we only want to
>>> provide
>>>    // coverage for one of them. Because of that we only emit the
>>> coverage mapping
>>>    // for the base constructor/destructor.
>>> +  // For Microsoft's C++ ABI Clang emits only the complete constructor,
>>> +  // therefore we have to emit the coverage mapping for it instead of
>>> the base
>>> +  // one.
>>> +  const CXXCtorType AcceptedCtor =
>>> +      CGM.getTarget().getCXXABI().isMicrosoft()? Ctor_Complete :
>>> Ctor_Base;
>>>    if ((isa<CXXConstructorDecl>(GD.getDecl()) &&
>>> -       GD.getCtorType() != Ctor_Base) ||
>>> +       GD.getCtorType() != AcceptedCtor) ||
>>>        (isa<CXXDestructorDecl>(GD.getDecl()) &&
>>>         GD.getDtorType() != Dtor_Base)) {
>>>      SkipCoverageMapping = true;
>>>
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140811/f59581ef/attachment.html>


More information about the cfe-commits mailing list