@@ -11,10 +11,37 @@ void singleTaskKernelReference(int &Ref) {}
11
11
SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::nd_range_kernel<2 >)
12
12
void ndRangeKernelReference(int &Ref) {}
13
13
14
- // Diagnostic for these violations of the restrictions haven't been implemented
15
- // yet.
14
+ // expected-error@+2 {{a function with a default argument value cannot be used to define SYCL free function kernel}}
16
15
SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::single_task_kernel)
16
+ void singleTaskKernelDefaultParameterValue(int DefVal = 1024 ) {}
17
17
18
+ // expected-error@+2 {{a function with a default argument value cannot be used to define SYCL free function kernel}}
18
19
SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::nd_range_kernel<3 >)
19
- void ndRangeKernelVariadic( // expected-error {{free function kernel cannot be a variadic function}}
20
- ...) {}
20
+ void ndRangeKernelReferenceDefaultParameterValue(int DefVal = 1024 ) {}
21
+
22
+ // expected-error@+2 {{free function kernel cannot be a variadic function}}
23
+ SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::single_task_kernel)
24
+ void singleTaskKernelVariadic(...) {}
25
+
26
+ // expected-error@+2 {{free function kernel cannot be a variadic function}}
27
+ SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::nd_range_kernel<1 >)
28
+ void ndRangeKernelVariadic(...) {}
29
+
30
+ class DummyClass {
31
+ public:
32
+ // Diagnostic for these violations of the restrictions haven't been
33
+ // implemented yet.
34
+ SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::single_task_kernel)
35
+ void singleTaskKernelNonStaticMemberFunc (int *Ptr) {}
36
+
37
+ SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::nd_range_kernel<2 >)
38
+ void ndRangeKernelNonStaticMemberFunc (float *Ptr) {}
39
+ };
40
+
41
+ // expected-error@+2 {{SYCL free function kernel should have return type 'void'}}
42
+ SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::single_task_kernel)
43
+ float singleTaskKernelNonVoid() { return 0 .0F ; }
44
+
45
+ // expected-error@+2 {{SYCL free function kernel should have return type 'void'}}
46
+ SYCL_EXT_ONEAPI_FUNCTION_PROPERTY (syclexp::nd_range_kernel<3 >)
47
+ int ndRangeKernelNonVoid() { return 0 ; }
0 commit comments