SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:1257 internal compiler error: main_out = struct @align(16) {
  x_GLF_color_1:vec4<f32> @offset(0), @location(0)
}

$B1: {  # root
  %x_GLF_color:ptr<private, vec4<f32>, read_write> = var
}

%main_1 = func():void {
  $B2: {
    %v:ptr<function, vec4<f32>, read_write> = var
    %4:vec4<f32> = load %v
    %5:vec2<f32> = swizzle %4, zw
    %6:vec4<f32> = construct vec2<f32>(1.0f), %5
    store %v, %6
    %7:vec4<f32> = load %v
    %8:vec2<f32> = swizzle %7, xy
    %9:vec4<f32> = construct %8, vec2<f32>(2.0f)
    store %v, %9
    %10:vec4<f32> = load %v
    %11:vec4<bool> = eq %10, vec4<f32>(1.0f, 1.0f, 2.0f, 2.0f)
    %12:bool = all %11
    if %12 [t: $B3, f: $B4] {  # if_1
      $B3: {  # true
        store %x_GLF_color, vec4<f32>(1.0f, 0.0f, 0.0f, 1.0f)
        exit_if  # if_1
      }
      $B4: {  # false
        store %x_GLF_color, vec4<f32>(0.0f)
        exit_if  # if_1
      }
    }
    ret
  }
}
%tint_symbol = @fragment func():main_out {
  $B5: {
    %14:void = call %main_1
    %15:vec4<f32> = load %x_GLF_color
    %16:main_out = construct %15
    ret %16
  }
}

invalid entry point IO struct uses
********************************************************************
*  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.  *
********************************************************************
