#include <metal_stdlib> | |
using namespace metal; | |
void deref_const() { | |
int3 a = 0; | |
int b = a[0]; | |
a[0] = 42; | |
} | |
void no_deref_const() { | |
int3 a = 0; | |
int b = a[0]; | |
a[0] = 42; | |
} | |
void deref_let() { | |
int3 a = 0; | |
int const i = 0; | |
int b = a[i]; | |
a[0] = 42; | |
} | |
void no_deref_let() { | |
int3 a = 0; | |
int const i = 0; | |
int b = a[i]; | |
a[0] = 42; | |
} | |
void deref_var() { | |
int3 a = 0; | |
int i = 0; | |
int b = a[i]; | |
a[0] = 42; | |
} | |
void no_deref_var() { | |
int3 a = 0; | |
int const i = 0; | |
int b = a[i]; | |
a[0] = 42; | |
} | |
kernel void tint_symbol() { | |
deref_const(); | |
no_deref_const(); | |
deref_let(); | |
no_deref_let(); | |
deref_var(); | |
no_deref_var(); | |
return; | |
} | |