|
1 |
| -// RUN: %clangxx -fsycl-device-only -c -fno-color-diagnostics -Xclang -ast-dump %s -I %sycl_include -Wno-sycl-strict | FileCheck %s |
| 1 | +// RUN: %clangxx -fsycl-device-only -c -fno-color-diagnostics -Xclang -fdump-record-layouts %s -I %sycl_include -Wno-sycl-strict | FileCheck %s |
2 | 2 | // UNSUPPORTED: windows
|
3 |
| -#include <sycl/accessor.hpp> |
| 3 | +#include <sycl/sycl.hpp> |
4 | 4 |
|
5 | 5 | typedef sycl::accessor<int, 1, sycl::access::mode::read> dummy;
|
6 | 6 |
|
| 7 | +using namespace sycl; |
| 8 | + |
| 9 | +int main() { |
| 10 | + queue q; |
| 11 | + buffer<int, 1> b(1); |
| 12 | + q.submit([&](handler &cgh) { |
| 13 | + accessor a{b, cgh}; |
| 14 | + |
| 15 | + cgh.single_task([=]() { a[0] = 42; }); |
| 16 | + }); |
| 17 | +} |
| 18 | + |
7 | 19 | // AccessorImplDevice must have MemRange and Offset fields
|
8 | 20 |
|
9 |
| -// CHECK: CXXRecordDecl {{.*}} class AccessorImplDevice definition |
10 |
| -// CHECK-NOT: CXXRecordDecl {{.*}} definition |
11 |
| -// CHECK: FieldDecl {{.*}} referenced Offset |
12 |
| -// CHECK-NOT: CXXRecordDecl {{.*}} definition |
13 |
| -// CHECK: FieldDecl {{.*}} referenced MemRange |
| 21 | +// CHECK: 0 | class sycl::detail::AccessorImplDevice<1> |
| 22 | +// CHECK-NEXT: 0 | class sycl::id<1> Offset |
| 23 | +// CHECK-NEXT: 0 | class sycl::detail::array<1> (base) |
| 24 | +// CHECK-NEXT: 0 | size_t[1] common_array |
| 25 | +// CHECK-NEXT: 8 | class sycl::range<1> AccessRange |
| 26 | +// CHECK-NEXT: 8 | class sycl::detail::array<1> (base) |
| 27 | +// CHECK-NEXT: 8 | size_t[1] common_array |
| 28 | +// CHECK-NEXT: 16 | class sycl::range<1> MemRange |
| 29 | +// CHECK-NEXT: 16 | class sycl::detail::array<1> (base) |
| 30 | +// CHECK-NEXT: 16 | size_t[1] common_array |
| 31 | +// CHECK-NEXT: | [sizeof=24, dsize=24, align=8, |
| 32 | +// CHECK-NEXT: | nvsize=24, nvalign=8] |
14 | 33 |
|
15 | 34 | // accessor.impl must be present and of AccessorImplDevice type
|
16 | 35 |
|
17 |
| -// CHECK: CXXRecordDecl {{.*}} class accessor definition |
18 |
| -// CHECK-NOT: CXXRecordDecl {{.*}} definition |
19 |
| -// CHECK: FieldDecl {{.*}} referenced impl 'detail::AccessorImplDevice<AdjustedDim>' |
| 36 | +// CHECK: 0 | class sycl::accessor<int, 1, sycl::access::mode::read_write, sycl::access::target::global_buffer, sycl::access::placeholder::false_t> |
| 37 | +// CHECK-NEXT: 0 | class sycl::detail::accessor_common<int, 1, sycl::access::mode::read_write, sycl::access::target::global_buffer, sycl::access::placeholder::false_t> (base) (empty) |
| 38 | +// CHECK-NEXT: 0 | class sycl::detail::AccessorImplDevice<1> impl |
| 39 | +// CHECK-NEXT: 0 | class sycl::id<1> Offset |
| 40 | +// CHECK-NEXT: 0 | class sycl::detail::array<1> (base) |
| 41 | +// CHECK-NEXT: 0 | size_t[1] common_array |
| 42 | +// CHECK-NEXT: 8 | class sycl::range<1> AccessRange |
| 43 | +// CHECK-NEXT: 8 | class sycl::detail::array<1> (base) |
| 44 | +// CHECK-NEXT: 8 | size_t[1] common_array |
| 45 | +// CHECK-NEXT: 16 | class sycl::range<1> MemRange |
| 46 | +// CHECK-NEXT: 16 | class sycl::detail::array<1> (base) |
| 47 | +// CHECK-NEXT: 16 | size_t[1] common_array |
| 48 | +// CHECK-NEXT: 24 | union sycl::accessor<int, 1, sycl::access::mode::read_write, sycl::access::target::global_buffer, sycl::access::placeholder::false_t>::(anonymous at |
| 49 | +// CHECK-NEXT: 24 | ConcreteASPtrType MData |
| 50 | +// CHECK-NEXT: | [sizeof=32, dsize=32, align=8, |
| 51 | +// CHECK-NEXT: | nvsize=32, nvalign=8] |
0 commit comments