SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: PixelLocal = struct @align(4) {
  a:u32 @offset(0)
}

$B1: {  # root
  %P:ptr<pixel_local, PixelLocal, read_write> = var
}

%f = @fragment func():void {
  $B2: {
    %3:ptr<pixel_local, u32, read_write> = access %P, 0u
    %4:u32 = load %3
    %5:u32 = add %4, 42u
    store %3, %5
    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.  *
********************************************************************
