Lines Matching defs:dtor
291 // If the record matches the base, this is the complete ctor/dtor
295 "doing no-op VTT offset in base dtor/ctor?");
526 CXXDestructorDecl *Dtor;
528 CallMemberDtor(llvm::Value *V, CXXDestructorDecl *Dtor)
529 : V(V), Dtor(Dtor) {}
532 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false,
863 const CXXDestructorDecl *Dtor) {
864 if (!Dtor->hasTrivialBody())
868 const CXXRecordDecl *ClassDecl = Dtor->getParent();
882 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CurGD.getDecl());
890 EnterDtorCleanups(Dtor, Dtor_Deleting);
891 EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false,
897 Stmt *Body = Dtor->getBody();
917 EnterDtorCleanups(Dtor, Dtor_Complete);
920 EmitCXXDestructorCall(Dtor, Dtor_Base, /*ForVirtualBase=*/false,
928 EnterDtorCleanups(Dtor, Dtor_Base);
931 if (!CanSkipVTablePointerInitialization(getContext(), Dtor))
932 InitializeVTablePointers(Dtor->getParent());
939 assert(Dtor->isImplicit() && "bodyless dtor not implicit");
942 // -fapple-kext must inline any call to this dtor into
963 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CGF.CurCodeDecl);
964 const CXXRecordDecl *ClassDecl = Dtor->getParent();
965 CGF.EmitDeleteCall(Dtor->getOperatorDelete(), CGF.LoadCXXThis(),
1001 "Should not emit dtor epilogue for trivial dtor!");
1215 const CXXDestructorDecl *dtor = record->getDestructor();
1216 assert(!dtor->isTrivial());
1217 CGF.EmitCXXDestructorCall(dtor, Dtor_Complete, /*for vbase*/ false,
1354 const CXXDestructorDecl *Dtor;
1360 : Dtor(D), Addr(Addr), Type(Type) {}
1363 CGF.EmitCXXDestructorCall(Dtor, Type, /*ForVirtualBase=*/false,
1416 const CXXDestructorDecl *Dtor;
1420 : Dtor(D), Addr(Addr) {}
1423 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete,