SKIP: FAILED

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

thread uint x_1 = 0u;
thread float4 x_4 = 0.0f;
void main_1() {
  uint const x_2 = x_1;
}
vertex main_out tint_symbol(uint x_1_param [[]]) {
  x_1 = x_1_param;
  main_1();
  return {.x_4_1=x_4};
}
program_source:7:13: error: program scope variable must reside in constant address space
thread uint x_1 = 0u;
            ^
program_source:8:15: error: program scope variable must reside in constant address space
thread float4 x_4 = 0.0f;
              ^
program_source:10:14: warning: unused variable 'x_2' [-Wunused-variable]
  uint const x_2 = x_1;
             ^
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_1_param [[]]) {
                            ^~~~~~~~~~~~~~

