Lines Matching defs:NewD
740 void SemaCUDA::maybeAddHostDeviceAttrs(FunctionDecl *NewD,
745 if (!NewD->hasAttr<CUDAHostAttr>())
746 NewD->addAttr(CUDAHostAttr::CreateImplicit(getASTContext()));
747 if (!NewD->hasAttr<CUDADeviceAttr>())
748 NewD->addAttr(CUDADeviceAttr::CreateImplicit(getASTContext()));
755 !NewD->hasAttr<CUDAHostAttr>() && !NewD->hasAttr<CUDADeviceAttr>() &&
756 !NewD->hasAttr<CUDAGlobalAttr>() &&
757 (NewD->getDescribedFunctionTemplate() ||
758 NewD->isFunctionTemplateSpecialization())) {
759 NewD->addAttr(CUDAHostAttr::CreateImplicit(getASTContext()));
760 NewD->addAttr(CUDADeviceAttr::CreateImplicit(getASTContext()));
764 if (!getLangOpts().CUDAHostDeviceConstexpr || !NewD->isConstexpr() ||
765 NewD->isVariadic() || NewD->hasAttr<CUDAHostAttr>() ||
766 NewD->hasAttr<CUDADeviceAttr>() || NewD->hasAttr<CUDAGlobalAttr>())
769 // Is D a __device__ function with the same signature as NewD, ignoring CUDA
777 !SemaRef.IsOverload(NewD, OldD,
783 // We found a __device__ function with the same name and signature as NewD
785 // in a system header, in which case we simply return without making NewD
789 Diag(NewD->getLocation(),
791 << NewD;
798 NewD->addAttr(CUDAHostAttr::CreateImplicit(getASTContext()));
799 NewD->addAttr(CUDADeviceAttr::CreateImplicit(getASTContext()));