Home | History | Annotate | Download | only in CodeGen

Lines Matching full:dtor

292   // If the record matches the base, this is the complete ctor/dtor
296 "doing no-op VTT offset in base dtor/ctor?");
515 CXXDestructorDecl *Dtor;
517 CallMemberDtor(FieldDecl *Field, CXXDestructorDecl *Dtor)
518 : Field(Field), Dtor(Dtor) {}
525 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false,
834 const CXXDestructorDecl *Dtor) {
835 if (!Dtor->hasTrivialBody())
839 const CXXRecordDecl *ClassDecl = Dtor->getParent();
853 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CurGD.getDecl());
861 EnterDtorCleanups(Dtor, Dtor_Deleting);
862 EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false,
868 Stmt *Body = Dtor->getBody();
888 EnterDtorCleanups(Dtor, Dtor_Complete);
891 EmitCXXDestructorCall(Dtor, Dtor_Base, /*ForVirtualBase=*/false,
899 EnterDtorCleanups(Dtor, Dtor_Base);
902 if (!CanSkipVTablePointerInitialization(getContext(), Dtor))
903 InitializeVTablePointers(Dtor->getParent());
910 assert(Dtor->isImplicit() && "bodyless dtor not implicit");
913 // -fapple-kext must inline any call to this dtor into
934 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CGF.CurCodeDecl);
935 const CXXRecordDecl *ClassDecl = Dtor->getParent();
936 CGF.EmitDeleteCall(Dtor->getOperatorDelete(), CGF.LoadCXXThis(),
970 "Should not emit dtor epilogue for trivial dtor!");
1180 const CXXDestructorDecl *dtor = record->getDestructor();
1181 assert(!dtor->isTrivial());
1182 CGF.EmitCXXDestructorCall(dtor, Dtor_Complete, /*for vbase*/ false,
1319 const CXXDestructorDecl *Dtor;
1325 : Dtor(D), Addr(Addr), Type(Type) {}
1328 CGF.EmitCXXDestructorCall(Dtor, Type, /*ForVirtualBase=*/false,
1379 const CXXDestructorDecl *Dtor;
1383 : Dtor(D), Addr(Addr) {}
1386 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete,