| // RUN: %target-swift-frontend -primary-file %s -emit-ir | %FileCheck %s |
| |
| // REQUIRES: CPU=x86_64 |
| |
| var g0 : Int = 1 |
| var g1 : (Void, Int, Void) |
| var g2 : (Void, Int, Int) |
| var g3 : Bool |
| |
| // FIXME: enum IRgen |
| // enum TY4 { case some(Int, Int); case none } |
| // var g4 : TY4 |
| |
| // FIXME: enum IRgen |
| // enum TY5 { case a(Int8, Int8, Int8, Int8) |
| // case b(Int16) } |
| // var g5 : TY5 |
| |
| var g6 : Double |
| var g7 : Float |
| |
| // FIXME: enum IRgen |
| // enum TY8 { case a } |
| // var g8 : TY8 |
| |
| struct TY9 { } |
| var g9 : TY9 |
| |
| // rdar://16520242 |
| struct A {} |
| extension A { |
| static var foo : Int = 5 |
| } |
| |
| // CHECK: [[INT:%.*]] = type <{ i64 }> |
| // CHECK: [[BOOL:%.*]] = type <{ i1 }> |
| // CHECK: [[DOUBLE:%.*]] = type <{ double }> |
| // CHECK: [[FLOAT:%.*]] = type <{ float }> |
| |
| // CHECK-NOT: TY8 |
| // CHECK-NOT: TY9 |
| |
| // CHECK: @_Tv7globals2g0Si = hidden global [[INT]] zeroinitializer, align 8 |
| // CHECK: @_Tv7globals2g1TT_SiT__ = hidden global <{ [[INT]] }> zeroinitializer, align 8 |
| // CHECK: @_Tv7globals2g2TT_SiSi_ = hidden global <{ [[INT]], [[INT]] }> zeroinitializer, align 8 |
| // CHECK: @_Tv7globals2g3Sb = hidden global [[BOOL]] zeroinitializer, align 1 |
| // CHECK: @_Tv7globals2g6Sd = hidden global [[DOUBLE]] zeroinitializer, align 8 |
| // CHECK: @_Tv7globals2g7Sf = hidden global [[FLOAT]] zeroinitializer, align 4 |
| // CHECK: @_TZvV7globals1A3fooSi = hidden global [[INT]] zeroinitializer, align 8 |
| |
| // CHECK-NOT: g8 |
| // CHECK-NOT: g9 |
| |
| // CHECK: define{{( protected)?}} i32 @main(i32, i8**) {{.*}} { |
| // CHECK: store i64 {{.*}}, i64* getelementptr inbounds ([[INT]], [[INT]]* @_Tv7globals2g0Si, i32 0, i32 0), align 8 |
| |
| // FIXME: give these initializers a real mangled name |
| // CHECK: define internal void @globalinit_{{.*}}func0() {{.*}} { |
| // CHECK: store i64 5, i64* getelementptr inbounds (%Si, %Si* @_TZvV7globals1A3fooSi, i32 0, i32 0), align 8 |