Lines Matching refs:Dtor
1415 const CXXDestructorDecl *Dtor) { in CanSkipVTablePointerInitialization() argument
1416 const CXXRecordDecl *ClassDecl = Dtor->getParent(); in CanSkipVTablePointerInitialization()
1425 if (!Dtor->hasTrivialBody()) in CanSkipVTablePointerInitialization()
1438 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CurGD.getDecl()); in EmitDestructorBody() local
1446 if (DtorType != Dtor_Base && Dtor->getParent()->isAbstract()) { in EmitDestructorBody()
1455 Stmt *Body = Dtor->getBody(); in EmitDestructorBody()
1465 EnterDtorCleanups(Dtor, Dtor_Deleting); in EmitDestructorBody()
1467 QualType ThisTy = Dtor->getThisObjectType(); in EmitDestructorBody()
1468 EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false, in EmitDestructorBody()
1498 EnterDtorCleanups(Dtor, Dtor_Complete); in EmitDestructorBody()
1501 QualType ThisTy = Dtor->getThisObjectType(); in EmitDestructorBody()
1502 EmitCXXDestructorCall(Dtor, Dtor_Base, /*ForVirtualBase=*/false, in EmitDestructorBody()
1514 EnterDtorCleanups(Dtor, Dtor_Base); in EmitDestructorBody()
1517 if (!CanSkipVTablePointerInitialization(*this, Dtor)) { in EmitDestructorBody()
1523 InitializeVTablePointers(Dtor->getParent()); in EmitDestructorBody()
1531 assert(Dtor->isImplicit() && "bodyless dtor not implicit"); in EmitDestructorBody()
1579 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CGF.CurCodeDecl); in Emit() local
1580 const CXXRecordDecl *ClassDecl = Dtor->getParent(); in Emit()
1581 CGF.EmitDeleteCall(Dtor->getOperatorDelete(), in Emit()
1582 LoadThisForDtorDelete(CGF, Dtor), in Emit()
1597 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CGF.CurCodeDecl); in EmitConditionalDtorDeleteCall() local
1598 const CXXRecordDecl *ClassDecl = Dtor->getParent(); in EmitConditionalDtorDeleteCall()
1599 CGF.EmitDeleteCall(Dtor->getOperatorDelete(), in EmitConditionalDtorDeleteCall()
1600 LoadThisForDtorDelete(CGF, Dtor), in EmitConditionalDtorDeleteCall()
1602 assert(Dtor->getOperatorDelete()->isDestroyingOperatorDelete() == in EmitConditionalDtorDeleteCall()
1698 const CXXDestructorDecl *Dtor; member in __anon858dc5ae0411::SanitizeDtorFieldRange
1703 SanitizeDtorFieldRange(const CXXDestructorDecl *Dtor, unsigned StartIndex, in SanitizeDtorFieldRange() argument
1705 : Dtor(Dtor), StartIndex(StartIndex), EndIndex(EndIndex) {} in SanitizeDtorFieldRange()
1713 Context.getASTRecordLayout(Dtor->getParent()); in Emit()
1746 const CXXDestructorDecl *Dtor; member in __anon858dc5ae0411::SanitizeDtorVTable
1749 SanitizeDtorVTable(const CXXDestructorDecl *Dtor) : Dtor(Dtor) {} in SanitizeDtorVTable() argument
1753 assert(Dtor->getParent()->isDynamicClass()); in Emit()
1754 (void)Dtor; in Emit()
2417 const CXXDestructorDecl *Dtor; member
2423 : Dtor(D), Addr(Addr), Type(Type) {} in CallDelegatingCtorDtor()
2428 QualType ThisTy = Dtor->getThisObjectType(); in Emit()
2429 CGF.EmitCXXDestructorCall(Dtor, Type, /*ForVirtualBase=*/false, in Emit()
2476 const CXXDestructorDecl *Dtor; member
2481 : Dtor(D), Addr(Addr), Ty(Ty) {} in CallLocalDtor()
2484 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete, in Emit()