The tests are at http://reviews.llvm.org/D4847.
2014-08-11 11:02 GMT-07:00 Chandler Carruth <[email protected]>: > 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
