r215365 - Coverage mapping: emit mapping for cxx constructors that use microsoft's ABI
Alex L
arphaman at gmail.com
Fri Aug 22 10:16:19 PDT 2014
I haven't gotten a chance to resubmit this yet, will do soon though.
2014-08-22 10:15 GMT-07:00 Reid Kleckner <rnk at google.com>:
> Has this been resolved? I'm trying to grind through my unread commit mail.
>
>
> On Mon, Aug 11, 2014 at 11:19 AM, Justin Bogner <mail at justinbogner.com>
> wrote:
>
>> Alex Lorenz <arphaman at gmail.com> writes:
>> > 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;
>>
>> There should be spaces around the ? here.
>>
>> > if ((isa<CXXConstructorDecl>(GD.getDecl()) &&
>> > - GD.getCtorType() != Ctor_Base) ||
>> > + GD.getCtorType() != AcceptedCtor) ||
>> > (isa<CXXDestructorDecl>(GD.getDecl()) &&
>> > GD.getDtorType() != Dtor_Base)) {
>> > SkipCoverageMapping = true;
>>
>> You should really commit the tests this is fixing along with the
>> change. It makes life much easier for people digging through history
>> later if code changes and tests are in the same commit.
>> _______________________________________________
>> 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/20140822/cc150743/attachment.html>
More information about the cfe-commits
mailing list