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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits