SKIP: FAILED

#include <metal_stdlib>
using namespace metal;
struct main_out {
  float4 x_1_1 [[position]];
};

thread uint x_4 = 0u;
thread float4 x_1 = 0.0f;
void main_1() {
  uint const x_2 = x_4;
}
vertex main_out tint_symbol(uint x_4_param [[]]) {
  x_4 = x_4_param;
  main_1();
  return {.x_1_1=x_1};
}
program_source:7:13: error: program scope variable must reside in constant address space
thread uint x_4 = 0u;
            ^
program_source:8:15: error: program scope variable must reside in constant address space
thread float4 x_1 = 0.0f;
              ^
program_source:10:14: warning: unused variable 'x_2' [-Wunused-variable]
  uint const x_2 = x_4;
             ^
program_source:12:29: error: invalid type 'uint' (aka 'unsigned int') for input declaration in a vertex function
vertex main_out tint_symbol(uint x_4_param [[]]) {
                            ^~~~~~~~~~~~~~

