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

Reply via email to