/freebsd/contrib/llvm-project/clang/lib/InstallAPI/ |
H A D | Visitor.cpp | 455 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 D | CGClass.cpp | 1416 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 D | CGExprCXX.cpp | 102 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 D | CGCXXABI.h | 256 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 D | CGCXXABI.cpp | 315 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 D | CGDeclCXX.cpp | 119 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 D | ItaniumCXXABI.cpp | 163 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 D | MicrosoftCXXABI.cpp | 123 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 D | CGCoroutine.cpp | 162 const auto *Dtor = TE->getTemporary()->getDestructor(); in StmtCanThrow() local 163 if (FunctionCanThrow(Dtor)) in StmtCanThrow()
|
H A D | CGDecl.cpp | 555 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 D | SanitizerBinaryMetadata.cpp | 230 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 D | Value.cpp | 63 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 D | Interpreter.cpp | 556 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 D | RefCntblBaseVirtualDtorChecker.cpp | 278 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 D | LowerGlobalDtors.cpp | 190 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 D | IndexDecl.cpp | 277 } 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 D | PathDiagnostic.cpp | 539 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 D | LiveVariables.cpp | 494 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 D | Interp.cpp | 858 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 D | CallEvent.cpp | 1467 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 D | ExprEngineCallAndReturn.cpp | 998 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 D | ExprEngine.cpp | 1337 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 D | SemaAccess.cpp | 1632 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 D | SemaDeclCXX.cpp | 1847 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 D | DeclCXX.cpp | 601 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()
|