| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct tint_array_wrapper { |
| int arr[4]; |
| }; |
| struct S { |
| tint_array_wrapper arr; |
| }; |
| struct tint_array_wrapper_1 { |
| tint_array_wrapper arr[2]; |
| }; |
| |
| void foo() { |
| tint_array_wrapper const src = {.arr={}}; |
| tint_array_wrapper dst = {}; |
| S dst_struct = {}; |
| tint_array_wrapper_1 dst_array = {}; |
| thread tint_array_wrapper* const dst_ptr = &(dst); |
| thread S* const dst_struct_ptr = &(dst_struct); |
| thread tint_array_wrapper_1* const dst_array_ptr = &(dst_array); |
| dst_struct.arr = src; |
| dst_array.arr[1] = src; |
| *(dst_ptr) = src; |
| (*(dst_struct_ptr)).arr = src; |
| (*(dst_array_ptr)).arr[0] = src; |
| } |
| |