1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
// RUN: %target-swift-emit-silgen -parse-as-library -module-name=test %s | %FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-ON
// RUN: %target-swift-emit-silgen -parse-as-library -module-name=test -enforce-exclusivity=none %s | %FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-OFF
@exclusivity(checked)
var globalCheckedVar = 1
@exclusivity(unchecked)
var globalUncheckedVar = 1
// CHECK-LABEL: sil [ossa] @$s4test13getCheckedVarSiyF
// CHECK-ON: begin_access [read] [dynamic]
// CHECK-OFF: begin_access [read] [dynamic]
// CHECK: } // end sil function '$s4test13getCheckedVarSiyF'
public func getCheckedVar() -> Int {
return globalCheckedVar
}
// CHECK-LABEL: sil [ossa] @$s4test15getUncheckedVarSiyF
// CHECK-ON: begin_access [read] [unsafe]
// CHECK-OFF-NOT: begin_access
// CHECK: } // end sil function '$s4test15getUncheckedVarSiyF'
public func getUncheckedVar() -> Int {
return globalUncheckedVar
}
public struct ExclusivityAttrStruct {
// CHECK-LABEL: sil {{.*}}@$s4test21ExclusivityAttrStructV9staticVarSivsZ
// CHECK-ON: begin_access [modify] [unsafe]
// CHECK: } // end sil function '$s4test21ExclusivityAttrStructV9staticVarSivsZ'
@exclusivity(unchecked)
public static var staticVar: Int = 27
}
public class ExclusivityAttrClass {
// CHECK-LABEL: sil {{.*}}@$s4test20ExclusivityAttrClassC11instanceVarSivs
// CHECK-ON: begin_access [modify] [unsafe]
// CHECK: } // end sil function '$s4test20ExclusivityAttrClassC11instanceVarSivs'
@exclusivity(unchecked)
public var instanceVar: Int = 27
// CHECK-LABEL: sil {{.*}}@$s4test20ExclusivityAttrClassC18checkedInstanceVarSivs
// CHECK-ON: begin_access [modify] [dynamic]
// CHECK-OFF: begin_access [modify] [dynamic]
// CHECK: } // end sil function '$s4test20ExclusivityAttrClassC18checkedInstanceVarSivs'
@exclusivity(checked)
public var checkedInstanceVar: Int = 27
// CHECK-LABEL: sil {{.*}}@$s4test20ExclusivityAttrClassC9staticVarSivsZ
// CHECK-ON: begin_access [modify] [unsafe]
// CHECK: } // end sil function '$s4test20ExclusivityAttrClassC9staticVarSivsZ'
@exclusivity(unchecked)
public static var staticVar: Int = 27
}
|