SKIP: FAILED

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

thread float3 pos = 0.0f;
thread float4 gl_Position = 0.0f;
void main_1() {
  float3 const x_21 = pos;
  gl_Position = float4(x_21[0u], x_21[1u], x_21[2u], 1.0f);
}
vertex main_out tint_symbol(float3 position_param) {
  pos = position_param;
  main_1();
  return {.gl_Position=gl_Position};
}
program_source:7:15: error: program scope variable must reside in constant address space
thread float3 pos = 0.0f;
              ^
program_source:8:15: error: program scope variable must reside in constant address space
thread float4 gl_Position = 0.0f;
              ^
program_source:13:29: error: invalid type 'float3' (vector of 3 'float' values) for input declaration in a vertex function
vertex main_out tint_symbol(float3 position_param) {
                            ^~~~~~~~~~~~~~~~~~~~~

