#include <metal_stdlib>
using namespace metal;

struct S1 {
  int i;
};

struct S2 {
  S1 s1;
};

struct S3 {
  S2 s2;
};

struct tint_module_vars_struct {
  thread S3* P;
  device int* out;
};

kernel void tint_symbol(device int* out [[buffer(0)]]) {
  thread S3 P = S3{.s2=S2{.s1=S1{.i=42}}};
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.P=(&P), .out=out};
  (*tint_module_vars.out) = (*tint_module_vars.P).s2.s1.i;
}
