| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct str { |
| int i; |
| }; |
| |
| void func(threadgroup int* const pointer) { |
| *(pointer) = 42; |
| } |
| |
| void tint_symbol_inner(uint local_invocation_index, threadgroup str* const tint_symbol_2) { |
| { |
| str const tint_symbol_1 = str{}; |
| *(tint_symbol_2) = tint_symbol_1; |
| } |
| threadgroup_barrier(mem_flags::mem_threadgroup); |
| func(&((*(tint_symbol_2)).i)); |
| } |
| |
| kernel void tint_symbol(uint local_invocation_index [[thread_index_in_threadgroup]]) { |
| threadgroup str tint_symbol_3; |
| tint_symbol_inner(local_invocation_index, &(tint_symbol_3)); |
| return; |
| } |
| |