SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: {  # root
  %arg_0:ptr<handle, texture_cube<f32>, read> = var @binding_point(1, 0)
  %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
}

%textureDimensions_382b16 = func():void {
  $B2: {
    %arg_1:ptr<function, u32, read_write> = var, 1u
    %5:texture_cube<f32> = load %arg_0
    %6:u32 = load %arg_1
    %7:vec2<u32> = textureDimensions %5, %6
    %res:ptr<function, vec2<u32>, read_write> = var, %7
    %9:vec2<u32> = load %res
    store %prevent_dce, %9
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] {
  $B3: {
    %11:void = call %textureDimensions_382b16
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void {
  $B4: {
    %13:void = call %textureDimensions_382b16
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
  $B5: {
    %15:void = call %textureDimensions_382b16
    ret
  }
}

unhandled variable address space
********************************************************************
*  The tint shader compiler has encountered an unexpected error.   *
*                                                                  *
*  Please help us fix this issue by submitting a bug report at     *
*  crbug.com/tint with the source program that triggered the bug.  *
********************************************************************
