================ @@ -1134,8 +1134,18 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) { // the presence of a sycl_kernel_entry_point attribute, register it so that // associated metadata is recreated. if (FD->hasAttr<SYCLKernelEntryPointAttr>()) { + const auto *SKEPAttr = FD->getAttr<SYCLKernelEntryPointAttr>(); ASTContext &C = Reader.getContext(); - C.registerSYCLEntryPointFunction(FD); + const SYCLKernelInfo *SKI = C.findSYCLKernelInfo(SKEPAttr->getKernelName()); + if (SKI) { + if (!declaresSameEntity(FD, SKI->getKernelEntryPointDecl())) { + Reader.Diag(FD->getLocation(), diag::err_sycl_kernel_name_conflict); ---------------- erichkeane wrote:
Is this not a diagnostic we could do elsewhere? A diagnostic in the middle of serialization is REALLY strange, and I don't know why we even have that ability. It seems to me that PCH/Modules shouldn't cause diagnostics like this. https://github.com/llvm/llvm-project/pull/120327 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits