SKIP: FAILED

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

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

