================
@@ -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:
These tend to be for modules specific stuff, and only as exceptions. Though
upon closer look, this might be for modules-related a diagnostic, but I'll have
to take a closer look.
https://github.com/llvm/llvm-project/pull/120327
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits