#pragma clang diagnostic ignored "-Wmissing-prototypes" #include #include using namespace metal; constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u); static inline __attribute__((always_inline)) void set_f(thread int& f) { f = 40; } static inline __attribute__((always_inline)) void set_shared_u(threadgroup int& u) { u = 50; } kernel void main0(uint gl_LocalInvocationIndex [[thread_index_in_threadgroup]]) { threadgroup int u; int f; set_f(f); set_shared_u(u); if (gl_LocalInvocationIndex == 0u) { f = 10; } else { f = 30; u = 20; } }