mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
I am doing this separately from the actual change to eliminate the option to make it easier to review.
55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
// RUN: %target-sil-opt -enable-sil-verify-all %s
|
|
|
|
// Check that sil_globals and their corresponding decls are
|
|
// parsed. There is no direct way to verify that the declarations are
|
|
// properly associated with the sil_globals, so just make sure it succeeds.
|
|
//
|
|
// FIXME: Add support for name collisions across private/fileprivate globals.
|
|
|
|
sil_stage canonical
|
|
|
|
import Builtin
|
|
import Swift
|
|
import SwiftShims
|
|
|
|
struct S {
|
|
init()
|
|
}
|
|
|
|
class C {
|
|
init()
|
|
deinit
|
|
}
|
|
|
|
enum E {
|
|
case a
|
|
@_implements(Equatable, ==(_:_:)) static func __derived_enum_equals(_ a: E, _ b: E) -> Bool
|
|
var hashValue: Int { get }
|
|
func hash(into hasher: inout Hasher)
|
|
}
|
|
|
|
private var global1: S
|
|
|
|
fileprivate var global2: C
|
|
|
|
var global3: E
|
|
|
|
public var global4: Int
|
|
|
|
weak var global5: @sil_weak C?
|
|
|
|
// CHECK: sil_global private @$s11global_decl7global133_EB6670D548223EDC99AF0D8F02575BC4LLAA1SVvp : $S
|
|
sil_global private @$s11global_decl7global133_EB6670D548223EDC99AF0D8F02575BC4LLAA1SVvp : $S
|
|
|
|
// CHECK: sil_global private @$s11global_decl7global233_EB6670D548223EDC99AF0D8F02575BC4LLAA1CCvp : $C
|
|
sil_global private @$s11global_decl7global233_EB6670D548223EDC99AF0D8F02575BC4LLAA1CCvp : $C
|
|
|
|
// CHECK: sil_global hidden @$s11global_decl7global3AA1EOvp : $E
|
|
sil_global hidden @$s11global_decl7global3AA1EOvp : $E
|
|
|
|
// CHECK: sil_global @$s11global_decl7global4Sivp : $Int
|
|
sil_global @$s11global_decl7global4Sivp : $Int
|
|
|
|
// CHECK: sil_global hidden @$s11global_decl7global5AA1CCSgXwvp : $@sil_weak Optional<C>
|
|
sil_global hidden @$s11global_decl7global5AA1CCSgXwvp : $@sil_weak Optional<C>
|