Lines Matching defs:NewD
738 void SemaCUDA::maybeAddHostDeviceAttrs(FunctionDecl *NewD,
743 if (!NewD->hasAttr<CUDAHostAttr>())
744 NewD->addAttr(CUDAHostAttr::CreateImplicit(getASTContext()));
745 if (!NewD->hasAttr<CUDADeviceAttr>())
746 NewD->addAttr(CUDADeviceAttr::CreateImplicit(getASTContext()));
753 !NewD->hasAttr<CUDAHostAttr>() && !NewD->hasAttr<CUDADeviceAttr>() &&
754 !NewD->hasAttr<CUDAGlobalAttr>() &&
755 (NewD->getDescribedFunctionTemplate() ||
756 NewD->isFunctionTemplateSpecialization())) {
757 NewD->addAttr(CUDAHostAttr::CreateImplicit(getASTContext()));
758 NewD->addAttr(CUDADeviceAttr::CreateImplicit(getASTContext()));
762 if (!getLangOpts().CUDAHostDeviceConstexpr || !NewD->isConstexpr() ||
763 NewD->isVariadic() || NewD->hasAttr<CUDAHostAttr>() ||
764 NewD->hasAttr<CUDADeviceAttr>() || NewD->hasAttr<CUDAGlobalAttr>())
767 // Is D a __device__ function with the same signature as NewD, ignoring CUDA
775 !SemaRef.IsOverload(NewD, OldD,
781 // We found a __device__ function with the same name and signature as NewD
783 // in a system header, in which case we simply return without making NewD
787 Diag(NewD->getLocation(),
789 << NewD;
796 NewD->addAttr(CUDAHostAttr::CreateImplicit(getASTContext()));
797 NewD->addAttr(CUDADeviceAttr::CreateImplicit(getASTContext()));