SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

thread half t = 0.0h;
half4 m() {
  t = 1.0h;
  return half4(t);
}
void f() {
  uint4 v = tint_v4f16_to_v4u32(m());
}
uint4 tint_v4f16_to_v4u32(half4 value) {
  return select(uint4(4294967295u), select(uint4(0u), uint4(value), (value >= half4(0.0h))), (value <= half4(65504.0h)));
}
program_source:4:13: error: program scope variable must reside in constant address space
thread half t = 0.0h;
            ^
program_source:10:13: error: use of undeclared identifier 'tint_v4f16_to_v4u32'
  uint4 v = tint_v4f16_to_v4u32(m());
            ^

