SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

thread float t = 0.0f;
float4 m() {
  t = 1.0f;
  return float4(t);
}
void f() {
  uint4 v = tint_v4f32_to_v4u32(m());
}
uint4 tint_v4f32_to_v4u32(float4 value) {
  return select(uint4(4294967295u), select(uint4(0u), uint4(value), (value >= float4(0.0f))), (value <= float4(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_v4f32_to_v4u32'
  uint4 v = tint_v4f32_to_v4u32(m());
            ^

