@@ -174,10 +174,11 @@ using sycl::ext::oneapi;
174
174
accessor acc(buf, cgh, property_list{no_alias_v, foo_v<32>});
175
175
```
176
176
177
- As before, the header file represents the properties with an internal C++
178
- attribute, where the initial parameters are the names of the properties and
179
- the subsequent parameters are the property values. However, this time the
180
- attribute decorates one of the member variables.
177
+ The implementation in the header file is similar to the previous case. The
178
+ C++ attribute ` [[__sycl_detail__::add_ir_kernel_parameter_attributes()]] `
179
+ decorates one of the member variables of the class, and the parameters to this
180
+ attribute represent the properties. As before, the initial parameters are the
181
+ names of the properties and the subsequent parameters are the property values.
181
182
182
183
```
183
184
namespace sycl {
@@ -315,9 +316,12 @@ void foo(handler &cgh) {
315
316
}
316
317
```
317
318
318
- Internally, the headers lower both cases to a wrapper class that expresses the
319
- properties as an internal C++ attribute, and the ` operator() ` of this class
320
- becomes the "top level" kernel function that is recognized by the front-end.
319
+ Internally, the header lowers both cases to a wrapper class which defines
320
+ ` operator() ` , and that operator function becomes the "top level" kernel
321
+ function that is recognized by the front-end. The definition of this operator
322
+ is decorated with the C++ attribute
323
+ ` [[__sycl_detail__::add_ir_function_attributes()]] ` , and the parameters to this
324
+ attribute represent the properties.
321
325
322
326
```
323
327
template<typename KernelType, typename PropertyListT>
@@ -394,8 +398,10 @@ void foo(int *p) {
394
398
}
395
399
```
396
400
397
- We again implement the property list in the header via a C++ attribute, where
398
- the attribute decorates a member variable of the class:
401
+ We again use a C++ attribute to represent the properties in the header. The
402
+ attribute ` [[__sycl_detail__::add_ir_member_annotation()]] ` decorates one of
403
+ the member variables of the class, and the parameters to this attribute
404
+ represent the properties.
399
405
400
406
```
401
407
namespace sycl::ext::oneapi {
0 commit comments