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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
// RUN: %target-swift-emit-ir -target armv7-apple-none-macho -parse-stdlib -module-name Swift %s -enable-experimental-feature Embedded -wmo -parse-as-library | %FileCheck %s --check-prefix CHECK --check-prefix CHECK-NONOPT
// RUN: %target-swift-emit-ir -target armv7-apple-none-macho -parse-stdlib -module-name Swift %s -enable-experimental-feature Embedded -wmo -parse-as-library -O | %FileCheck %s
// REQUIRES: swift_in_compiler
// REQUIRES: CODEGENERATOR=ARM
precedencegroup AssignmentPrecedence { assignment: true }
public typealias IntegerLiteralType = Int
public typealias _MaxBuiltinIntegerType = Builtin.IntLiteral
public typealias _MaxBuiltinFloatType = Builtin.FPIEEE80
public protocol _ExpressibleByBuiltinIntegerLiteral {
init(_builtinIntegerLiteral value: _MaxBuiltinIntegerType)
}
public protocol _ExpressibleByBuiltinFloatLiteral {
init(_builtinFloatLiteral value: _MaxBuiltinFloatType)
}
public protocol ExpressibleByIntegerLiteral {
associatedtype IntegerLiteralType : _ExpressibleByBuiltinIntegerLiteral
init(integerLiteral value: IntegerLiteralType)
}
public protocol ExpressibleByFloatLiteral {
associatedtype FloatLiteralType : _ExpressibleByBuiltinFloatLiteral
init(floatLiteral value: FloatLiteralType)
}
public struct Int : _ExpressibleByBuiltinIntegerLiteral, ExpressibleByIntegerLiteral {
var value: Builtin.Word
public init() {
self = 0
}
public init(_builtinIntegerLiteral value: _MaxBuiltinIntegerType) {
let builtinValue = Builtin.s_to_s_checked_trunc_IntLiteral_Word(value).0
self.value = builtinValue
}
public init(integerLiteral value: IntegerLiteralType) {
self = value
}
}
private let global_int_1: Int = 0
public let global_int_2: Int = 0
private var global_int_3: Int = 0
public var global_int_4: Int = 0
private enum MyPrivateEnum { }
public enum MyPublicEnum { }
extension MyPrivateEnum {
private static let static_int_1: Int = 0
public static let static_int_2: Int = 0
private static var static_int_3: Int = 0
public static var static_int_4: Int = 0
}
extension MyPublicEnum {
private static let static_int_1: Int = 0
public static let static_int_2: Int = 0
private static var static_int_3: Int = 0
public static var static_int_4: Int = 0
}
private struct MyPrivateStruct {
var x, y: Int
}
private let global_myprivatestruct_1: MyPrivateStruct = MyPrivateStruct(x: 0, y: 0)
private var global_myprivatestruct_3: MyPrivateStruct = MyPrivateStruct(x: 0, y: 0)
extension MyPrivateEnum {
private static let static_myprivatestruct_1: MyPrivateStruct = MyPrivateStruct(x: 0, y: 0)
private static var static_myprivatestruct_3: MyPrivateStruct = MyPrivateStruct(x: 0, y: 0)
}
extension MyPublicEnum {
private static let static_myprivatestruct_1: MyPrivateStruct = MyPrivateStruct(x: 0, y: 0)
private static var static_myprivatestruct_3: MyPrivateStruct = MyPrivateStruct(x: 0, y: 0)
}
public struct MyPublicStruct {
var x, y: Int
}
private let global_my_publicstruct_1: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
public let global_my_publicstruct_2: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
private var global_my_publicstruct_3: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
public var global_my_publicstruct_4: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
extension MyPrivateEnum {
private static let static_mypublicstruct_1: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
public static let static_mypublicstruct_2: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
private static var static_mypublicstruct_3: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
public static var static_mypublicstruct_4: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
}
extension MyPublicEnum {
private static let static_mypublicstruct_1: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
public static let static_mypublicstruct_2: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
private static var static_mypublicstruct_3: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
public static var static_mypublicstruct_4: MyPublicStruct = MyPublicStruct(x: 0, y: 0)
}
// CHECK-NONOPT: @"$ss12global_int_133_056BEF60D619AD2945081A9CBFC2AAE9LLSivp" = {{.*}}zeroinitializer
// CHECK: @"$ss12global_int_2Sivp" = {{.*}}zeroinitializer
// CHECK-NONOPT: @"$ss12global_int_333_056BEF60D619AD2945081A9CBFC2AAE9LLSivp" = {{.*}}zeroinitializer
// CHECK: @"$ss12global_int_4Sivp" = {{.*}}zeroinitializer
// CHECK-NONOPT: @"$ss12MyPublicEnumO12static_int_133_056BEF60D619AD2945081A9CBFC2AAE9LLSivpZ" = {{.*}}zeroinitializer
// CHECK: @"$ss12MyPublicEnumO12static_int_2SivpZ" = {{.*}}zeroinitializer
// CHECK-NONOPT: @"$ss12MyPublicEnumO12static_int_333_056BEF60D619AD2945081A9CBFC2AAE9LLSivpZ" = {{.*}}zeroinitializer
// CHECK: @"$ss12MyPublicEnumO12static_int_4SivpZ" = {{.*}}zeroinitializer
// CHECK-NONOPT: @"$ss24global_my_publicstruct_133_056BEF60D619AD2945081A9CBFC2AAE9LLs14MyPublicStructVvp" = {{.*}}zeroinitializer
// CHECK: @"$ss24global_my_publicstruct_2s14MyPublicStructVvp" = {{.*}}zeroinitializer
// CHECK-NONOPT: @"$ss24global_my_publicstruct_333_056BEF60D619AD2945081A9CBFC2AAE9LLs14MyPublicStructVvp" = {{.*}}zeroinitializer
// CHECK: @"$ss24global_my_publicstruct_4s14MyPublicStructVvp" = {{.*}}zeroinitializer
// CHECK-NOT: static_my_publicstruct_1
// CHECK: @"$ss12MyPublicEnumO23static_mypublicstruct_2s0aB6StructVvpZ" = {{.*}}zeroinitializer
// CHECK-NOT: static_my_publicstruct_3
// CHECK: @"$ss12MyPublicEnumO23static_mypublicstruct_4s0aB6StructVvpZ" = {{.*}}zeroinitializer
|