Test case? Please don't commit untested changes...
On Mon, Aug 11, 2014 at 10:45 AM, Alex Lorenz <[email protected]> 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 > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
