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

Reid Kleckner rnk at google.com
Fri Aug 22 10:15:10 PDT 2014


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/6d12dab5/attachment.html>


More information about the cfe-commits mailing list