Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Dtor

304     // If the record matches the base, this is the complete ctor/dtor
307 "doing no-op VTT offset in base dtor/ctor?");
1224 const CXXDestructorDecl *Dtor) {
1225 if (!Dtor->hasTrivialBody())
1229 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1243 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CurGD.getDecl());
1251 EnterDtorCleanups(Dtor, Dtor_Deleting);
1252 EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false,
1258 Stmt *Body = Dtor->getBody();
1278 EnterDtorCleanups(Dtor, Dtor_Complete);
1282 EmitCXXDestructorCall(Dtor, Dtor_Base, /*ForVirtualBase=*/false,
1290 EnterDtorCleanups(Dtor, Dtor_Base);
1293 if (!CanSkipVTablePointerInitialization(getContext(), Dtor))
1294 InitializeVTablePointers(Dtor->getParent());
1301 assert(Dtor->isImplicit() && "bodyless dtor not implicit");
1304 // -fapple-kext must inline any call to this dtor into
1343 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CGF.CurCodeDecl);
1344 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1345 CGF.EmitDeleteCall(Dtor->getOperatorDelete(), CGF.LoadCXXThis(),
1359 llvm::BasicBlock *callDeleteBB = CGF.createBasicBlock("dtor.call_delete");
1360 llvm::BasicBlock *continueBB = CGF.createBasicBlock("dtor.continue");
1366 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CGF.CurCodeDecl);
1367 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1368 CGF.EmitDeleteCall(Dtor->getOperatorDelete(), CGF.LoadCXXThis(),
1407 "Should not emit dtor epilogue for trivial dtor!");
1415 // If there is an implicit param to the deleting dtor, it's a boolean
1416 // telling whether we should call delete at the end of the dtor.
1624 const CXXDestructorDecl *dtor = record->getDestructor();
1625 assert(!dtor->isTrivial());
1626 CGF.EmitCXXDestructorCall(dtor, Dtor_Complete, /*for vbase*/ false,
1766 const CXXDestructorDecl *Dtor;
1772 : Dtor(D), Addr(Addr), Type(Type) {}
1775 CGF.EmitCXXDestructorCall(Dtor, Type, /*ForVirtualBase=*/false,
1832 const CXXDestructorDecl *Dtor;
1836 : Dtor(D), Addr(Addr) {}
1839 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete,