#include <metal_stdlib>
using namespace metal;

struct S {
  int x;
};

void deref() {
  S a = {};
  thread S* const p = (&a);
  int b = (*p).x;
  (*p).x = 42;
}

void no_deref() {
  S a = {};
  thread S* const p = (&a);
  int b = (*p).x;
  (*p).x = 42;
}

kernel void tint_symbol() {
  deref();
  no_deref();
}
