[clang] [SYCL] Basic diagnostics for the sycl_kernel_entry_point attribute. (PR #120327)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 18 12:16:47 PST 2024
================
@@ -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">;
+def err_sycl_entry_point_invalid_redeclaration : Error<
+ "'sycl_kernel_entry_point' kernel name argument does not match prior"
+ " declaration%diff{: $ vs $|}0,1">;
+def err_sycl_kernel_name_conflict : Error<
+ "'sycl_kernel_entry_point' kernel name argument conflicts with a previous"
+ " declaration">;
+def warn_sycl_kernel_name_not_a_class_type : Warning<
+ "%0 is not a valid SYCL kernel name type; a class type is required">,
----------------
erichkeane wrote:
That would be acceptable, I might consider `class or struct type`, which doesn't get into "what C++ has to say about it" by not using a term of art, and seems similarly descriptive.
https://github.com/llvm/llvm-project/pull/120327
More information about the cfe-commits
mailing list