Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/clang/lib/InstallAPI/
H A DVisitor.cpp455 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(Method)) in getMangledCXXThunk() local
456 MC->mangleCXXDtorThunk(Dtor, D.getDtorType(), Thunk, ElideOverrideInfo, in getMangledCXXThunk()
472 const auto *Dtor = cast<CXXDestructorDecl>(D); in getMangledCtorDtor() local
473 GD = GlobalDecl(Dtor, CXXDtorType(Type)); in getMangledCtorDtor()
516 if (auto Dtor = dyn_cast<CXXDestructorDecl>(Method)) { in emitVTableSymbols() local
518 if (Dtor->isDefaulted()) in emitVTableSymbols()
520 AddThunk({Dtor, Dtor_Deleting}); in emitVTableSymbols()
521 AddThunk({Dtor, Dtor_Complete}); in emitVTableSymbols()
650 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(M)) { in VisitCXXRecordDecl() local
652 if (Dtor->isDefaulted()) in VisitCXXRecordDecl()
[all …]
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGClass.cpp1416 const CXXDestructorDecl *Dtor) { in CanSkipVTablePointerInitialization() argument
1417 const CXXRecordDecl *ClassDecl = Dtor->getParent(); in CanSkipVTablePointerInitialization()
1426 if (!Dtor->hasTrivialBody()) in CanSkipVTablePointerInitialization()
1439 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CurGD.getDecl()); in EmitDestructorBody() local
1447 if (DtorType != Dtor_Base && Dtor->getParent()->isAbstract()) { in EmitDestructorBody()
1456 Stmt *Body = Dtor->getBody(); in EmitDestructorBody()
1468 EnterDtorCleanups(Dtor, Dtor_Deleting); in EmitDestructorBody()
1470 QualType ThisTy = Dtor->getFunctionObjectParameterType(); in EmitDestructorBody()
1471 EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false, in EmitDestructorBody()
1501 EnterDtorCleanups(Dtor, Dtor_Complete); in EmitDestructorBody()
[all …]
H A DCGExprCXX.cpp102 GlobalDecl Dtor, const CGCallee &Callee, llvm::Value *This, QualType ThisTy, in EmitCXXDestructorCall() argument
104 const CXXMethodDecl *DtorDecl = cast<CXXMethodDecl>(Dtor.getDecl()); in EmitCXXDestructorCall()
120 commonEmitCXXMemberOrOperatorCall(*this, Dtor, This, ImplicitParam, in EmitCXXDestructorCall()
122 return EmitCall(CGM.getTypes().arrangeCXXStructorDeclaration(Dtor), Callee, in EmitCXXDestructorCall()
332 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(CalleeDecl)) in EmitCXXMemberOrOperatorMemberCallExpr() local
334 GlobalDecl(Dtor, Dtor_Complete)); in EmitCXXMemberOrOperatorMemberCallExpr()
372 if (const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(CalleeDecl)) { in EmitCXXMemberOrOperatorMemberCallExpr() local
377 CGM.getCXXABI().EmitVirtualDestructorCall(*this, Dtor, Dtor_Complete, in EmitCXXMemberOrOperatorMemberCallExpr()
381 GlobalDecl GD(Dtor, Dtor_Complete); in EmitCXXMemberOrOperatorMemberCallExpr()
383 if (getLangOpts().AppleKext && Dtor->isVirtual() && HasQualifier) in EmitCXXMemberOrOperatorMemberCallExpr()
[all …]
H A DCGCXXABI.h256 const CXXDestructorDecl *Dtor) = 0;
369 virtual bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor,
373 const CXXDestructorDecl *Dtor,
377 getCXXDestructorLinkage(GVALinkage Linkage, const CXXDestructorDecl *Dtor,
489 const CXXDestructorDecl *Dtor,
621 llvm::FunctionCallee Dtor,
H A DCGCXXABI.cpp315 const CXXDestructorDecl *Dtor, in setCXXDestructorDLLStorage() argument
318 CGM.setDLLImportDLLExport(GV, Dtor); in setCXXDestructorDLLStorage()
322 GVALinkage Linkage, const CXXDestructorDecl *Dtor, CXXDtorType DT) const { in getCXXDestructorLinkage() argument
324 return CGM.getLLVMLinkageForDeclarator(Dtor, Linkage); in getCXXDestructorLinkage()
H A DCGDeclCXX.cpp119 CXXDestructorDecl *Dtor = Record->getDestructor(); in EmitDeclDestroy() local
121 Func = CGM.getAddrAndTypeOfCXXStructor(GlobalDecl(Dtor, Dtor_Complete)); in EmitDeclDestroy()
278 const VarDecl &D, llvm::FunctionCallee Dtor, llvm::Constant *Addr, in createTLSAtExitStub() argument
311 llvm::CallInst *call = CGF.Builder.CreateCall(Dtor, Addr); in createTLSAtExitStub()
315 Dtor.getCallee()->stripPointerCastsAndAliases())) in createTLSAtExitStub()
338 llvm::FunctionCallee Dtor, in registerGlobalDtorWithLLVM() argument
342 cast<llvm::Function>(createAtExitStub(VD, Dtor, Addr)); in registerGlobalDtorWithLLVM()
H A DItaniumCXXABI.cpp163 const CXXDestructorDecl *Dtor) override;
257 bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, in useThunkForDtorVariant() argument
319 const CXXDestructorDecl *Dtor,
1375 const CXXDestructorDecl *Dtor) { in emitVirtualObjectDelete() argument
1406 EmitVirtualDestructorCall(CGF, Dtor, DtorType, Ptr, DE); in emitVirtualObjectDelete()
1466 llvm::Constant *Dtor = nullptr; in emitThrow() local
1478 Dtor = CGM.getAddrOfCXXStructor(GlobalDecl(DtorD, Dtor_Complete)); in emitThrow()
1479 Dtor = CGM.getFunctionPointer(Dtor, DtorTy); in emitThrow()
1482 if (!Dtor) Dtor = llvm::Constant::getNullValue(CGM.Int8PtrTy); in emitThrow()
1484 llvm::Value *args[] = { ExceptionPtr, TypeInfo, Dtor }; in emitThrow()
[all …]
H A DMicrosoftCXXABI.cpp123 const CXXDestructorDecl *Dtor) override;
235 bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, in useThunkForDtorVariant() argument
241 const CXXDestructorDecl *Dtor,
245 getCXXDestructorLinkage(GVALinkage Linkage, const CXXDestructorDecl *Dtor,
338 const CXXDestructorDecl *Dtor,
442 llvm::FunctionCallee Dtor,
899 const CXXDestructorDecl *Dtor) { in emitVirtualObjectDelete() argument
904 llvm::Value *MDThis = EmitVirtualDestructorCall(CGF, Dtor, DtorType, Ptr, DE); in emitVirtualObjectDelete()
1378 const CXXDestructorDecl *Dtor, in setCXXDestructorDLLStorage() argument
1385 const NamedDecl *ND = Dtor; in setCXXDestructorDLLStorage()
[all …]
H A DCGCoroutine.cpp162 const auto *Dtor = TE->getTemporary()->getDestructor(); in StmtCanThrow() local
163 if (FunctionCanThrow(Dtor)) in StmtCanThrow()
H A DCGDecl.cpp555 const CXXDestructorDecl *Dtor, llvm::Value *NRVOFlag) in DestroyNRVOVariableCXX()
557 Dtor(Dtor) {} in DestroyNRVOVariableCXX()
559 const CXXDestructorDecl *Dtor; member
562 CGF.EmitCXXDestructorCall(Dtor, Dtor_Complete, in emitDestructorCall()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DSanitizerBinaryMetadata.cpp230 Function *Dtor = in run() local
242 Dtor->setComdat(Mod.getOrInsertComdat(Dtor->getName())); in run()
244 Dtor->setLinkage(GlobalValue::ExternalLinkage); in run()
247 Dtor->setVisibility(GlobalValue::HiddenVisibility); in run()
249 DtorComdatKey = Dtor; in run()
252 appendToGlobalDtors(Mod, Dtor, kCtorDtorPriority, DtorComdatKey); in run()
/freebsd/contrib/llvm-project/clang/lib/Interpreter/
H A DValue.cpp63 if (Dtor && IsAlive()) { in Release()
67 (*Dtor)(getPayload() + Idx * Stride); in Release()
82 : RefCnt(1), Dtor(reinterpret_cast<DtorFunc>(DtorF)), in ValueStorage()
86 DtorFunc Dtor = nullptr; member in __anon8d9d85ba0111::ValueStorage
H A DInterpreter.cpp556 if (auto Dtor = Dtors.find(CXXRD); Dtor != Dtors.end()) in CompileDtorCall() local
557 return Dtor->getSecond(); in CompileDtorCall()
772 auto *Dtor = B->S.LookupDestructor(RD); in transformForValuePrinting() local
773 Dtor->addAttr(UsedAttr::CreateImplicit(B->Ctx)); in transformForValuePrinting()
775 DeclGroupRef(Dtor)); in transformForValuePrinting()
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/WebKit/
H A DRefCntblBaseVirtualDtorChecker.cpp278 const auto *Dtor = C->getDestructor(); in visitCXXRecordDecl() local
279 if (!Dtor || !Dtor->isVirtual()) { in visitCXXRecordDecl()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerGlobalDtors.cpp190 for (auto *Dtor : reverse(AssociatedAndMore.second)) in runImpl() local
191 CallInst::Create(VoidVoid, Dtor, "", BB); in runImpl()
/freebsd/contrib/llvm-project/clang/lib/Index/
H A DIndexDecl.cpp277 } else if (const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(D)) { in VisitFunctionDecl() local
278 if (auto TypeNameInfo = Dtor->getNameInfo().getNamedTypeInfo()) { in VisitFunctionDecl()
279 IndexCtx.handleReference(Dtor->getParent(), in VisitFunctionDecl()
281 Dtor->getParent(), Dtor->getDeclContext(), in VisitFunctionDecl()
/freebsd/contrib/llvm-project/clang/lib/Analysis/
H A DPathDiagnostic.cpp539 const CFGAutomaticObjDtor &Dtor = Source.castAs<CFGAutomaticObjDtor>(); in getLocationForCaller() local
540 return PathDiagnosticLocation::createEnd(Dtor.getTriggerStmt(), in getLocationForCaller()
544 const CFGDeleteDtor &Dtor = Source.castAs<CFGDeleteDtor>(); in getLocationForCaller() local
545 return PathDiagnosticLocation(Dtor.getDeleteExpr(), SM, CallerCtx); in getLocationForCaller()
562 const auto &Dtor = Source.castAs<CFGTemporaryDtor>(); in getLocationForCaller() local
563 return PathDiagnosticLocation::createEnd(Dtor.getBindTemporaryExpr(), SM, in getLocationForCaller()
H A DLiveVariables.cpp494 if (std::optional<CFGAutomaticObjDtor> Dtor = in runOnBlock() local
496 val.liveDecls = DSetFact.add(val.liveDecls, Dtor->getVarDecl()); in runOnBlock()
/freebsd/contrib/llvm-project/clang/lib/AST/Interp/
H A DInterp.cpp858 if (const CXXDestructorDecl *Dtor = R->getDestructor(); in runRecordDestructor() local
859 Dtor && !Dtor->isTrivial()) { in runRecordDestructor()
860 const Function *DtorFunc = S.getContext().getOrCreateFunction(Dtor); in runRecordDestructor()
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DCallEvent.cpp1467 const auto *Dtor = cast<CXXDestructorDecl>(CalleeCtx->getDecl()); in getCaller() local
1468 Loc ThisPtr = SVB.getCXXThis(Dtor, CalleeCtx); in getCaller()
1478 Trigger = Dtor->getBody(); in getCaller()
1480 return getCXXDestructorCall(Dtor, Trigger, ThisVal.getAsRegion(), in getCaller()
H A DExprEngineCallAndReturn.cpp998 const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(FD); in isCXXSharedPtrDtor() local
999 if (!Dtor) in isCXXSharedPtrDtor()
1002 const CXXRecordDecl *RD = Dtor->getParent(); in isCXXSharedPtrDtor()
H A DExprEngine.cpp1337 void ExprEngine::ProcessAutomaticObjDtor(const CFGAutomaticObjDtor Dtor, in ProcessAutomaticObjDtor() argument
1340 const auto *DtorDecl = Dtor.getDestructorDecl(getContext()); in ProcessAutomaticObjDtor()
1341 const VarDecl *varDecl = Dtor.getVarDecl(); in ProcessAutomaticObjDtor()
1405 VisitCXXDestructor(varType, Region, Dtor.getTriggerStmt(), in ProcessAutomaticObjDtor()
1409 void ExprEngine::ProcessDeleteDtor(const CFGDeleteDtor Dtor, in ProcessDeleteDtor() argument
1414 const CXXDeleteExpr *DE = Dtor.getDeleteExpr(); in ProcessDeleteDtor()
1424 const CXXDestructorDecl *Dtor = RD->getDestructor(); in ProcessDeleteDtor() local
1426 PostImplicitCall PP(Dtor, DE->getBeginLoc(), LCtx, getCFGElementRef()); in ProcessDeleteDtor()
/freebsd/contrib/llvm-project/clang/lib/Sema/
H A DSemaAccess.cpp1632 CXXDestructorDecl *Dtor, in CheckDestructorAccess() argument
1639 AccessSpecifier Access = Dtor->getAccess(); in CheckDestructorAccess()
1643 CXXRecordDecl *NamingClass = Dtor->getParent(); in CheckDestructorAccess()
1647 DeclAccessPair::make(Dtor, Access), in CheckDestructorAccess()
H A DSemaDeclCXX.cpp1847 if (auto *Dtor = dyn_cast<CXXDestructorDecl>(NewFD)) { in CheckConstexprFunctionDefinition() local
1852 !Dtor->getParent()->defaultedDestructorIsConstexpr()) { in CheckConstexprFunctionDefinition()
1855 if (!CheckConstexprDestructorSubobjects(*this, Dtor, Kind)) in CheckConstexprFunctionDefinition()
5208 if (CXXDestructorDecl *Dtor = LookupDestructor(Constructor->getParent())) { in SetDelegatingInitializer() local
5209 MarkFunctionReferenced(Initializer->getSourceLocation(), Dtor); in SetDelegatingInitializer()
5210 DiagnoseUseOfDecl(Dtor, Initializer->getSourceLocation()); in SetDelegatingInitializer()
5732 CXXDestructorDecl *Dtor = LookupDestructor(FieldClassDecl); in MarkBaseAndMemberDestructorsReferenced() local
5733 // Dtor might still be missing, e.g because it's invalid. in MarkBaseAndMemberDestructorsReferenced()
5734 if (!Dtor) in MarkBaseAndMemberDestructorsReferenced()
5736 CheckDestructorAccess(Field->getLocation(), Dtor, in MarkBaseAndMemberDestructorsReferenced()
5753 CXXDestructorDecl *Dtor = ClassDecl->getDestructor(); MarkBaseAndMemberDestructorsReferenced() local
5780 CXXDestructorDecl *Dtor = LookupDestructor(BaseClassDecl); MarkBaseAndMemberDestructorsReferenced() local
5819 CXXDestructorDecl *Dtor = LookupDestructor(BaseClassDecl); MarkVirtualBaseDestructorsReferenced() local
7093 if (CXXDestructorDecl *Dtor = Record->getDestructor()) CheckCompletedCXXClass() local
[all...]
/freebsd/contrib/llvm-project/clang/lib/AST/
H A DDeclCXX.cpp601 auto *Dtor = getDestructor(); in hasConstexprDestructor() local
602 return Dtor ? Dtor->isConstexpr() : defaultedDestructorIsConstexpr(); in hasConstexprDestructor()
2159 if (const auto *Dtor = Def->getDestructor()) in isEffectivelyFinal() local
2160 if (Dtor->hasAttr<FinalAttr>()) in isEffectivelyFinal()

12