SKIP: FAILED


fn modf_bb9088(tint_symbol_2 : ptr<workgroup, vec3<f32>>) {
  var res : vec3<f32> = modf(vec3<f32>(), &(*(tint_symbol_2)));
}

struct tint_symbol {
  [[builtin(position)]]
  value : vec4<f32>;
};

[[stage(vertex)]]
fn vertex_main() -> tint_symbol {
  [[internal(disable_validation__function_var_storage_class)]] var<workgroup> tint_symbol_3 : vec3<f32>;
  modf_bb9088(&(tint_symbol_3));
  let tint_symbol_1 : tint_symbol = tint_symbol(vec4<f32>());
  return tint_symbol_1;
}

[[stage(fragment)]]
fn fragment_main() {
  [[internal(disable_validation__function_var_storage_class)]] var<workgroup> tint_symbol_4 : vec3<f32>;
  modf_bb9088(&(tint_symbol_4));
}

[[stage(compute)]]
fn compute_main() {
  [[internal(disable_validation__function_var_storage_class)]] var<workgroup> tint_symbol_5 : vec3<f32>;
  modf_bb9088(&(tint_symbol_5));
}

Failed to generate: error: Unknown import method: modf
