29 lines
655 B
Plaintext
29 lines
655 B
Plaintext
#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;
|
|
}
|
|
|