zahiraam added inline comments.
================ Comment at: clang/lib/Sema/SemaDecl.cpp:9118 + NewFD->getKind() == Decl::Kind::CXXMethod && + NewFD->getName() == "__init" && D.isFunctionDefinition()) { + if (auto *def = Parent->getDefinition()) ---------------- Fznamznon wrote: > In our downstream we have not only `__init`, but `__init_esimd` as well > there. I wonder how this case should be handled? I think the presence of method `__init_esimd` implies the presence of ` __init` method so we could eventually check first for the presence of `__init_esimd` and if not present check for the presence of `__init`? ================ Comment at: clang/test/SemaSYCL/special-class-attribute.cpp:43 +class [[clang::sycl_special_class]] class8 { // expected-error {{types with 'sycl_special_class' attribute must have an '__init' method defined}} + void __init(); +}; ---------------- Fznamznon wrote: > Will detection of `__init` method work correctly if it is defined outside of > the class? > Maybe we should also mention that it should be not be defined in a separate > library. Both __init and __finalize must be defined inside the class/struct. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114483/new/ https://reviews.llvm.org/D114483 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits