SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

thread float t = 0.0f;
float3 m() {
  t = 1.0f;
  return float3(t);
}
void f() {
  uint3 v = tint_v3f32_to_v3u32(m());
}
uint3 tint_v3f32_to_v3u32(float3 value) {
  return select(uint3(4294967295u), select(uint3(0u), uint3(value), (value >= float3(0.0f))), (value <= float3(4294967040.0f)));
}
program_source:4:14: error: program scope variable must reside in constant address space
thread float t = 0.0f;
             ^
program_source:10:13: error: use of undeclared identifier 'tint_v3f32_to_v3u32'
  uint3 v = tint_v3f32_to_v3u32(m());
            ^

