2424// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0 },
2525// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 2014, 4 },
2626// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 4 },
27- // CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 2016, 5 },
2827// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 5 },
28+ // CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 2016, 6 },
29+ // CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 6 },
30+ // CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 7 },
2931// CHECK-EMPTY:
3032// CHECK-NEXT: //--- ::second_namespace::second_kernel<char>
3133// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0 },
3234// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 2016, 4 },
3335// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 4 },
36+ // CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 5 },
3437// CHECK-EMPTY:
3538// CHECK-NEXT: //--- ::third_kernel<1, int, ::point<X> >
3639// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0 },
3740// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 2016, 4 },
3841// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 4 },
42+ // CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 5 },
3943// CHECK-EMPTY:
4044// CHECK-NEXT: };
4145//
@@ -81,8 +85,12 @@ enum class address_space : int {
8185struct range {
8286};
8387
88+ struct id {
89+ };
90+
8491struct _ImplT {
8592 range Range;
93+ id Offset;
8694};
8795
8896template <typename dataT, int dimensions, access::mode accessmode,
@@ -92,6 +100,8 @@ class accessor {
92100
93101public:
94102 void use (void ) const {}
103+ void __init (dataT *Ptr, range Range, id Offset) {
104+ }
95105
96106 _ImplT __impl; // compiler looks for this field
97107
0 commit comments