================ @@ -772,6 +772,26 @@ void Sema::maybeAddCUDAHostDeviceAttrs(FunctionDecl *NewD, NewD->addAttr(CUDADeviceAttr::CreateImplicit(Context)); } +// If a trivial ctor/dtor has no host/device +// attributes, make it implicitly host device function. +void Sema::maybeAddCUDAHostDeviceAttrsToTrivialCtorDtor(FunctionDecl *FD) { + auto IsTrivialCtor = [&](auto *D) { + if (auto *CD = dyn_cast<CXXConstructorDecl>(D)) + return isEmptyCudaConstructor(SourceLocation(), CD); + return false; + }; + auto IsTrivialDtor = [&](auto *D) { + if (auto *DD = dyn_cast<CXXDestructorDecl>(D)) + return isEmptyCudaDestructor(SourceLocation(), DD); + return false; + }; ---------------- yxsamliu wrote:
will do https://github.com/llvm/llvm-project/pull/72394 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits