Lines Matching defs:FD
34 FunctionDecl *FD = dyn_cast<FunctionDecl>(SemaRef.getCurLexicalContext());
35 SemaDiagnosticBuilder::Kind DiagKind = [this, FD] {
36 if (!FD)
38 if (SemaRef.getEmissionStatus(FD) == Sema::FunctionEmissionStatus::Emitted)
42 return SemaDiagnosticBuilder(DiagKind, Loc, DiagID, FD, SemaRef);
69 if (auto *FD = dyn_cast<FieldDecl>(D))
70 DiagIfDeviceCode(FD->getLocation(),
72 << FD->getType()->isPointerType() << FD->getType();
168 const auto *FD = cast<FunctionDecl>(D);
169 const FunctionTemplateDecl *FT = FD->getDescribedFunctionTemplate();
253 void SemaSYCL::CheckSYCLEntryPointFunctionDecl(FunctionDecl *FD) {
257 for (auto *SAI : FD->specific_attrs<SYCLKernelEntryPointAttr>()) {
284 FunctionDecl *PrevFD = FD->getPreviousDecl();
299 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
307 if (FD->isVariadic()) {
313 if (FD->isDefaulted()) {
317 } else if (FD->isDeleted()) {
323 if (FD->isConsteval()) {
327 } else if (FD->isConstexpr()) {
333 if (FD->isNoReturn()) {
339 if (FD->getReturnType()->isUndeducedType()) {
343 } else if (!FD->getReturnType()->isDependentType() &&
344 !FD->getReturnType()->isVoidType()) {
349 if (!FD->isInvalidDecl() && !FD->isTemplated() &&
354 if (!declaresSameEntity(FD, SKI->getKernelEntryPointDecl())) {
357 Diag(FD->getLocation(), diag::err_sycl_kernel_name_conflict);
363 getASTContext().registerSYCLEntryPointFunction(FD);
415 StmtResult SemaSYCL::BuildSYCLKernelCallStmt(FunctionDecl *FD,
417 assert(!FD->isInvalidDecl());
418 assert(!FD->isTemplated());
419 assert(FD->hasPrototype());
421 const auto *SKEPAttr = FD->getAttr<SYCLKernelEntryPointAttr>();
430 assert(declaresSameEntity(SKI.getKernelEntryPointDecl(), FD) &&
437 assert(SemaRef.CurContext == FD);
439 OutlinedFunctionDecl::Create(getASTContext(), FD, FD->getNumParams());
441 for (ParmVarDecl *PVD : FD->parameters()) {