#include <metal_stdlib>

using namespace metal;
bool tint_workgroupUniformLoad(threadgroup bool* const p) {
  threadgroup_barrier(mem_flags::mem_threadgroup);
  bool const result = *(p);
  threadgroup_barrier(mem_flags::mem_threadgroup);
  return result;
}

bool foo(threadgroup bool* const tint_symbol) {
  return tint_workgroupUniformLoad(tint_symbol);
}

