Lines Matching defs:FD
672 FunctionDecl *FD = getCurFunctionDecl();
673 if (FD && FD->isDefaulted()) {
801 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
804 if (FunctionTemplateDecl *Template = FD->getDescribedFunctionTemplate())
812 if (FD->hasBody(DeclToCheck))
817 DeclToCheck = FD->getMostRecentDecl();
818 if (DeclToCheck != FD)
856 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
857 return FD->isExternC();
895 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
896 if (FD->isDefined())
898 if (FD->isExternallyVisible() &&
899 !isExternalWithNoLinkageType(FD) &&
900 !FD->getMostRecentDecl()->isInlined() &&
901 !FD->hasAttr<ExcludeFromExplicitInstantiationAttr>())
903 if (FD->getBuiltinID())
973 } else if (auto *FD = dyn_cast<FunctionDecl>(VD)) {
974 (void)FD;
975 assert(FD->getMostRecentDecl()->isInlined() &&
1068 if (const FunctionDecl *FD =
1070 Complete = FD->isDefined();
1327 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
1329 if (auto *FDD = FD->getDefinition()) {
1334 Diag(FD->getLocation(), diag::err_export_inline_not_defined)
1415 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(*I)) {
1417 if (!FD->hasBody(DiagD))
1418 DiagD = FD;
1430 if (FD->getStorageClass() == SC_Static &&
1431 !FD->isInlineSpecified() &&
1433 SourceMgr.getExpansionLoc(FD->getLocation())))
1441 } else if (!FD->isTargetMultiVersion() ||
1442 FD->isTargetMultiVersionDefault()) {
1443 if (FD->getDescribedFunctionTemplate())
1673 auto *FD = dyn_cast<FunctionDecl>(CurContext);
1674 if (!FD)
1676 auto Loc = DeviceDeferredDiags.find(FD);
1686 // Print notes showing how we can reach FD starting from an a priori
1688 static void emitCallStackNotes(Sema &S, const FunctionDecl *FD) {
1689 auto FnIt = S.CUDA().DeviceKnownEmittedFns.find(FD);
1696 Builder << FnIt->second.FD;
1697 FnIt = S.CUDA().DeviceKnownEmittedFns.find(FnIt->second.FD);
1769 if (auto *FD = dyn_cast<FunctionDecl>(D))
1770 checkFunc(Loc, FD);
1790 void checkFunc(SourceLocation Loc, FunctionDecl *FD) {
1794 S.shouldIgnoreInHostDeviceCheck(FD) || InUsePath.count(FD))
1799 S.OpenMP().finalizeOpenMPDelayedAnalysis(Caller, FD, Loc);
1801 S.CUDA().DeviceKnownEmittedFns[FD] = {Caller, Loc};
1806 emitDeferredDiags(FD, Caller);
1809 if (!Done.insert(FD).second)
1811 InUsePath.insert(FD);
1812 UsePath.push_back(FD);
1813 if (auto *S = FD->getBody()) {
1817 InUsePath.erase(FD);
1821 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
1822 ShouldEmitRootNode = S.getEmissionStatus(FD, /*Final=*/true) ==
1824 checkFunc(SourceLocation(), FD);
1829 // Emit any deferred diagnostics for FD
1830 void emitDeferredDiags(FunctionDecl *FD, bool ShowCallStack) {
1831 auto It = S.DeviceDeferredDiags.find(FD);
1852 emitCallStackNotes(S, FD);
1947 Sema::targetDiag(SourceLocation Loc, unsigned DiagID, const FunctionDecl *FD) {
1948 FD = FD ? FD : getCurFunctionDecl();
1951 ? OpenMP().diagIfOpenMPDeviceCode(Loc, DiagID, FD)
1952 : OpenMP().diagIfOpenMPHostCode(Loc, DiagID, FD);
1961 FD, *this);
1993 const FunctionDecl *FD = isa<FunctionDecl>(C)
2008 targetDiag(Loc, PD, FD)
2041 if (targetDiag(Loc, PD, FD)
2049 targetDiag(D->getLocation(), diag::note_defined_here, FD) << D;
2068 if (Diag(Loc, PD, FD)
2075 targetDiag(D->getLocation(), diag::note_defined_here, FD) << D;
2087 if (Diag(Loc, PD, FD)
2094 targetDiag(D->getLocation(), diag::note_defined_here, FD) << D;
2097 if (TI.hasRISCVVTypes() && Ty->isRVVSizelessBuiltinType() && FD) {
2099 Context.getFunctionFeatureMap(CallerFeatureMap, FD);
2104 if (Ty->isSVESizelessBuiltinType() && FD) {
2106 Context.getFunctionFeatureMap(CallerFeatureMap, FD);
2110 else if (!IsArmStreamingFunction(FD,
2590 if (const auto *FD = Fn->getAsFunction()) {
2591 if (FD->isMultiVersion() && FD->hasAttr<TargetAttr>() &&
2592 !FD->getAttr<TargetAttr>()->isDefaultVersion())
2594 if (FD->isMultiVersion() && FD->hasAttr<TargetVersionAttr>() &&
2595 !FD->getAttr<TargetVersionAttr>()->isDefaultVersion())
2647 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
2648 return FD->isCPUDispatchMultiVersion() || FD->isCPUSpecificMultiVersion();