================
@@ -12408,6 +12408,29 @@ def err_sycl_special_type_num_init_method : Error<
   "types with 'sycl_special_class' attribute must have one and only one 
'__init' "
   "method defined">;
 
+// SYCL kernel entry point diagnostics
+def err_sycl_entry_point_invalid : Error<
+  "'sycl_kernel_entry_point' attribute cannot be applied to a"
+  " %select{non-static member|variadic|deleted|defaulted|constexpr|consteval|"
+           "noreturn|coroutine}0 function">;
----------------
tahonermann wrote:
Just "coroutine" is what is commonly used, though I do see a couple of cases of 
"coroutine function" (only one of which is user facing):
```
def note_coroutine_promise_call_implicitly_required : Note<
  "call to %0 implicitly required by coroutine function here">;
...
def note_coroutine_function_declare_noexcept : Note<
  "must be declared with 'noexcept'"
>;
```

I agree a change is warranted. That additional `%select` is pretty ugly, but I 
do see similar precedent, so ok.

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

Reply via email to