Home
last modified time | relevance | path

Searched refs:Dtor (Results 1 – 25 of 28) sorted by relevance

12

/NextBSD/contrib/llvm/tools/clang/lib/CodeGen/
HDCGClass.cpp1357 const CXXDestructorDecl *Dtor) { in CanSkipVTablePointerInitialization() argument
1358 if (!Dtor->hasTrivialBody()) in CanSkipVTablePointerInitialization()
1362 const CXXRecordDecl *ClassDecl = Dtor->getParent(); in CanSkipVTablePointerInitialization()
1373 const CXXDestructorDecl *Dtor) { in EmitDtorSanitizerCallback() argument
1375 CGF.getContext().getASTRecordLayout(Dtor->getParent()); in EmitDtorSanitizerCallback()
1391 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CurGD.getDecl()); in EmitDestructorBody() local
1394 Stmt *Body = Dtor->getBody(); in EmitDestructorBody()
1403 EnterDtorCleanups(Dtor, Dtor_Deleting); in EmitDestructorBody()
1404 EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false, in EmitDestructorBody()
1436 EnterDtorCleanups(Dtor, Dtor_Complete); in EmitDestructorBody()
[all …]
HDCGCXXABI.h216 const CXXDestructorDecl *Dtor) = 0;
279 virtual bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor,
374 EmitVirtualDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *Dtor,
500 llvm::Constant *Dtor,
HDCGExprCXX.cpp210 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(CalleeDecl)) in EmitCXXMemberOrOperatorMemberCallExpr() local
212 Dtor, StructorType::Complete); in EmitCXXMemberOrOperatorMemberCallExpr()
230 if (const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(MD)) { in EmitCXXMemberOrOperatorMemberCallExpr() local
236 *this, Dtor, Dtor_Complete, This, cast<CXXMemberCallExpr>(CE)); in EmitCXXMemberOrOperatorMemberCallExpr()
242 CGM.getAddrOfCXXStructor(Dtor, StructorType::Complete, FInfo, Ty); in EmitCXXMemberOrOperatorMemberCallExpr()
1457 const CXXDestructorDecl *Dtor = nullptr; in EmitObjectDelete() local
1461 Dtor = RD->getDestructor(); in EmitObjectDelete()
1463 if (Dtor->isVirtual()) { in EmitObjectDelete()
1465 Dtor); in EmitObjectDelete()
1478 if (Dtor) in EmitObjectDelete()
[all …]
HDItaniumCXXABI.cpp115 const CXXDestructorDecl *Dtor) override;
165 bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, in useThunkForDtorVariant() argument
211 const CXXDestructorDecl *Dtor,
879 const CXXDestructorDecl *Dtor) { in emitVirtualObjectDelete() argument
907 EmitVirtualDestructorCall(CGF, Dtor, DtorType, Ptr, /*CE=*/nullptr); in emitVirtualObjectDelete()
965 llvm::Constant *Dtor = nullptr; in emitThrow() local
970 Dtor = CGM.getAddrOfCXXStructor(DtorD, StructorType::Complete); in emitThrow()
971 Dtor = llvm::ConstantExpr::getBitCast(Dtor, CGM.Int8PtrTy); in emitThrow()
974 if (!Dtor) Dtor = llvm::Constant::getNullValue(CGM.Int8PtrTy); in emitThrow()
976 llvm::Value *args[] = { ExceptionPtr, TypeInfo, Dtor }; in emitThrow()
[all …]
HDMicrosoftCXXABI.cpp76 const CXXDestructorDecl *Dtor) override;
160 bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, in useThunkForDtorVariant() argument
231 const CXXDestructorDecl *Dtor,
334 llvm::Constant *Dtor, llvm::Constant *Addr) override;
828 const CXXDestructorDecl *Dtor) { in emitVirtualObjectDelete() argument
834 EmitVirtualDestructorCall(CGF, Dtor, DtorType, Ptr, /*CE=*/nullptr); in emitVirtualObjectDelete()
1772 CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, CXXDtorType DtorType, in EmitVirtualDestructorCall() argument
1779 GlobalDecl GD(Dtor, Dtor_Deleting); in EmitVirtualDestructorCall()
1781 Dtor, StructorType::Deleting); in EmitVirtualDestructorCall()
1792 RValue RV = CGF.EmitCXXStructorCall(Dtor, Callee, ReturnValueSlot(), This, in EmitVirtualDestructorCall()
[all …]
HDCGDecl.cpp425 const CXXDestructorDecl *Dtor, in DestroyNRVOVariable()
427 : Dtor(Dtor), NRVOFlag(NRVOFlag), Loc(addr) {} in DestroyNRVOVariable()
429 const CXXDestructorDecl *Dtor; member
447 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete, in Emit()
HDCGOpenMPRuntime.cpp961 llvm::Value *CopyCtor, llvm::Value *Dtor, SourceLocation Loc) { in emitThreadPrivateVarInit() argument
971 Ctor, CopyCtor, Dtor}; in emitThreadPrivateVarInit()
988 llvm::Value *Ctor = nullptr, *CopyCtor = nullptr, *Dtor = nullptr; in emitThreadPrivateVarDefinition() local
1049 Dtor = Fn; in emitThreadPrivateVarDefinition()
1052 if (!Ctor && !Dtor) in emitThreadPrivateVarDefinition()
1068 if (Dtor == nullptr) { in emitThreadPrivateVarDefinition()
1071 Dtor = llvm::Constant::getNullValue(DtorTy); in emitThreadPrivateVarDefinition()
1083 emitThreadPrivateVarInit(InitCGF, VDAddr, Ctor, CopyCtor, Dtor, Loc); in emitThreadPrivateVarDefinition()
1087 emitThreadPrivateVarInit(*CGF, VDAddr, Ctor, CopyCtor, Dtor, Loc); in emitThreadPrivateVarDefinition()
HDCGOpenMPRuntime.h351 llvm::Value *Dtor, SourceLocation Loc);
HDCodeGenFunction.h427 void PushDestructorCleanup(const CXXDestructorDecl *Dtor,
1366 void EnterDtorCleanups(const CXXDestructorDecl *Dtor, CXXDtorType Type);
2770 llvm::Constant *createAtExitStub(const VarDecl &VD, llvm::Constant *Dtor,
HDCodeGenModule.cpp623 void CodeGenModule::AddGlobalDtor(llvm::Function *Dtor, int Priority) { in AddGlobalDtor() argument
625 GlobalDtors.push_back(Structor(Priority, Dtor, nullptr)); in AddGlobalDtor()
679 if (const auto *Dtor = dyn_cast_or_null<CXXDestructorDecl>(FD)) { in setFunctionDLLStorageClass() local
680 if (getCXXABI().useThunkForDtorVariant(Dtor, GD.getDtorType())) { in setFunctionDLLStorageClass()
HDCodeGenModule.h1198 void AddGlobalDtor(llvm::Function *Dtor, int Priority = 65535);
HDCGCall.cpp2856 const CXXDestructorDecl *Dtor = Ty->getAsCXXRecordDecl()->getDestructor(); in Emit() local
2857 assert(!Dtor->isTrivial()); in Emit()
2858 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete, /*for vbase*/ false, in Emit()
/NextBSD/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/
HDDynamicTypePropagation.cpp86 if (const CXXDestructorCall *Dtor = dyn_cast<CXXDestructorCall>(&Call)) { in checkPreCall() local
88 if (!Dtor->isBaseDestructor()) in checkPreCall()
91 const MemRegion *Target = Dtor->getCXXThisVal().getAsRegion(); in checkPreCall()
95 const Decl *D = Dtor->getDecl(); in checkPreCall()
/NextBSD/contrib/llvm/tools/lli/
HDOrcLazyJIT.h83 for (auto Dtor : orc::getDestructors(*M)) in addModule() local
84 DtorNames.push_back(mangle(Dtor.Func->getName())); in addModule()
/NextBSD/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/
HDExprEngineCallAndReturn.cpp657 const CXXDestructorCall &Dtor = cast<CXXDestructorCall>(Call); in mayInlineCallKind() local
660 const MemRegion *Target = Dtor.getCXXThisVal().getAsRegion(); in mayInlineCallKind()
726 const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(FD); in isCXXSharedPtrDtor() local
727 if (!Dtor) in isCXXSharedPtrDtor()
730 const CXXRecordDecl *RD = Dtor->getParent(); in isCXXSharedPtrDtor()
HDCallEvent.cpp965 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CalleeCtx->getDecl()); in getCaller() local
966 Loc ThisPtr = SVB.getCXXThis(Dtor, CalleeCtx); in getCaller()
975 Trigger = Dtor->getBody(); in getCaller()
977 return getCXXDestructorCall(Dtor, Trigger, ThisVal.getAsRegion(), in getCaller()
HDPathDiagnostic.cpp560 const CFGAutomaticObjDtor &Dtor = Source.castAs<CFGAutomaticObjDtor>(); in getLocationForCaller() local
561 return PathDiagnosticLocation::createEnd(Dtor.getTriggerStmt(), in getLocationForCaller()
565 const CFGDeleteDtor &Dtor = Source.castAs<CFGDeleteDtor>(); in getLocationForCaller() local
566 return PathDiagnosticLocation(Dtor.getDeleteExpr(), SM, CallerCtx); in getLocationForCaller()
HDExprEngine.cpp584 void ExprEngine::ProcessAutomaticObjDtor(const CFGAutomaticObjDtor Dtor, in ProcessAutomaticObjDtor() argument
587 const VarDecl *varDecl = Dtor.getVarDecl(); in ProcessAutomaticObjDtor()
599 VisitCXXDestructor(varType, Region, Dtor.getTriggerStmt(), /*IsBase=*/ false, in ProcessAutomaticObjDtor()
603 void ExprEngine::ProcessDeleteDtor(const CFGDeleteDtor Dtor, in ProcessDeleteDtor() argument
608 const CXXDeleteExpr *DE = Dtor.getDeleteExpr(); in ProcessDeleteDtor()
618 const CXXDestructorDecl *Dtor = RD->getDestructor(); in ProcessDeleteDtor() local
620 PostImplicitCall PP(Dtor, DE->getLocStart(), LCtx); in ProcessDeleteDtor()
/NextBSD/contrib/llvm/tools/clang/lib/Analysis/
HDLiveVariables.cpp456 if (Optional<CFGAutomaticObjDtor> Dtor = in runOnBlock() local
458 val.liveDecls = DSetFact.add(val.liveDecls, Dtor->getVarDecl()); in runOnBlock()
HDThreadSafety.cpp1822 bool Dtor = isa<CXXDestructorDecl>(D); in handleCall() local
1824 Analyzer->removeLock(FSet, M, Loc, Dtor, LK_Exclusive, CapDiagKind); in handleCall()
1826 Analyzer->removeLock(FSet, M, Loc, Dtor, LK_Shared, CapDiagKind); in handleCall()
1828 Analyzer->removeLock(FSet, M, Loc, Dtor, LK_Generic, CapDiagKind); in handleCall()
/NextBSD/contrib/llvm/tools/clang/lib/Sema/
HDSemaAccess.cpp1588 CXXDestructorDecl *Dtor, in CheckDestructorAccess() argument
1595 AccessSpecifier Access = Dtor->getAccess(); in CheckDestructorAccess()
1599 CXXRecordDecl *NamingClass = Dtor->getParent(); in CheckDestructorAccess()
1603 DeclAccessPair::make(Dtor, Access), in CheckDestructorAccess()
HDSemaDeclCXX.cpp3848 if (CXXDestructorDecl *Dtor = LookupDestructor(Constructor->getParent())) { in SetDelegatingInitializer() local
3849 MarkFunctionReferenced(Initializer->getSourceLocation(), Dtor); in SetDelegatingInitializer()
3850 DiagnoseUseOfDecl(Dtor, Initializer->getSourceLocation()); in SetDelegatingInitializer()
4321 CXXDestructorDecl *Dtor = LookupDestructor(FieldClassDecl); in MarkBaseAndMemberDestructorsReferenced() local
4322 assert(Dtor && "No dtor found for FieldClassDecl!"); in MarkBaseAndMemberDestructorsReferenced()
4323 CheckDestructorAccess(Field->getLocation(), Dtor, in MarkBaseAndMemberDestructorsReferenced()
4328 MarkFunctionReferenced(Location, Dtor); in MarkBaseAndMemberDestructorsReferenced()
4329 DiagnoseUseOfDecl(Dtor, Location); in MarkBaseAndMemberDestructorsReferenced()
4350 CXXDestructorDecl *Dtor = LookupDestructor(BaseClassDecl); in MarkBaseAndMemberDestructorsReferenced() local
4351 assert(Dtor && "No dtor found for BaseClassDecl!"); in MarkBaseAndMemberDestructorsReferenced()
[all …]
HDSemaType.cpp6691 CXXDestructorDecl *Dtor = RD->getDestructor(); in RequireLiteralType() local
6692 assert(Dtor && "class has literal fields and bases but no dtor?"); in RequireLiteralType()
6693 if (!Dtor) in RequireLiteralType()
6696 Diag(Dtor->getLocation(), Dtor->isUserProvided() ? in RequireLiteralType()
6699 if (!Dtor->isUserProvided()) in RequireLiteralType()
6700 SpecialMemberIsTrivial(Dtor, CXXDestructor, /*Diagnose*/true); in RequireLiteralType()
HDSemaExprCXX.cpp2744 if (CXXDestructorDecl *Dtor = LookupDestructor(PointeeRD)) { in ActOnCXXDelete() local
2746 const_cast<CXXDestructorDecl*>(Dtor)); in ActOnCXXDelete()
2747 if (DiagnoseUseOfDecl(Dtor, StartLoc)) in ActOnCXXDelete()
2789 if (CXXDestructorDecl *Dtor = LookupDestructor(PointeeRD)) { in ActOnCXXDelete() local
2790 CheckDestructorAccess(Ex.get()->getExprLoc(), Dtor, in ActOnCXXDelete()
/NextBSD/contrib/llvm/tools/clang/lib/AST/
HDDeclCXX.cpp1314 CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(R.front()); in getDestructor() local
1315 return Dtor; in getDestructor()

12