#include using namespace metal; template T tint_dot4(vec a, vec b) { return a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3]; } void dot_ef6b1d() { int res = tint_dot4(int4(0), int4(0)); } struct tint_symbol { float4 value [[position]]; }; float4 vertex_main_inner() { dot_ef6b1d(); return float4(0.0f); } vertex tint_symbol vertex_main() { float4 const inner_result = vertex_main_inner(); tint_symbol wrapper_result = {}; wrapper_result.value = inner_result; return wrapper_result; } fragment void fragment_main() { dot_ef6b1d(); return; } kernel void compute_main() { dot_ef6b1d(); return; }