@@ -34,47 +34,46 @@ public func noConstantSize<T>(_ t: T.Type) -> Int {
3434 return MemoryLayout< T> . size
3535}
3636
37- // Check that there is not constant propagation if optimizations are disabled.
38- // This is important for the runtime check to make sure that we are comparing
37+ // It's important to not constant propagate here to make sure that we are comparing
3938// SIL constant propagated values with IRGen values.
4039
41- // CHECK-LABEL: sil {{.*}} @$s4test7getSizeSiyF
42- // CHECK: builtin "sizeof"<S >
43- // CHECK: } // end sil function '$s4test7getSizeSiyF '
40+ // CHECK-LABEL: sil {{.*}} @$s4test7getSizeySixmlF
41+ // CHECK: builtin "sizeof"<T >
42+ // CHECK: } // end sil function '$s4test7getSizeySixmlF '
4443@_optimize ( none)
45- func getSize( ) -> Int {
46- return MemoryLayout< S > . size
44+ func getSize< T > ( _ t : T . Type ) -> Int {
45+ return MemoryLayout< T > . size
4746}
4847
49- // CHECK-LABEL: sil {{.*}} @$s4test12getAlignmentSiyF
50- // CHECK: builtin "alignof"<S >
51- // CHECK: } // end sil function '$s4test12getAlignmentSiyF '
48+ // CHECK-LABEL: sil {{.*}} @$s4test12getAlignmentySixmlF
49+ // CHECK: builtin "alignof"<T >
50+ // CHECK: } // end sil function '$s4test12getAlignmentySixmlF '
5251@_optimize ( none)
53- func getAlignment( ) -> Int {
54- return MemoryLayout< S > . alignment
52+ func getAlignment< T > ( _ t : T . Type ) -> Int {
53+ return MemoryLayout< T > . alignment
5554}
5655
57- // CHECK-LABEL: sil {{.*}} @$s4test9getStrideSiyF
58- // CHECK: builtin "strideof"<S >
59- // CHECK: } // end sil function '$s4test9getStrideSiyF '
56+ // CHECK-LABEL: sil {{.*}} @$s4test9getStrideySixmlF
57+ // CHECK: builtin "strideof"<T >
58+ // CHECK: } // end sil function '$s4test9getStrideySixmlF '
6059@_optimize ( none)
61- func getStride( ) -> Int {
62- return MemoryLayout< S > . stride
60+ func getStride< T > ( _ t : T . Type ) -> Int {
61+ return MemoryLayout< T > . stride
6362}
6463
6564@inline ( never)
6665func testit( ) {
6766 // CHECK-OUTPUT: size: true
68- print ( " size: \( S . size == getSize ( ) ) " )
67+ print ( " size: \( S . size == getSize ( S . self ) ) " )
6968
7069 // CHECK-OUTPUT: alignment: true
71- print ( " alignment: \( S . alignment == getAlignment ( ) ) " )
70+ print ( " alignment: \( S . alignment == getAlignment ( S . self ) ) " )
7271
7372 // CHECK-OUTPUT: stride: true
74- print ( " stride: \( S . stride == getStride ( ) ) " )
73+ print ( " stride: \( S . stride == getStride ( S . self ) ) " )
7574
7675 // CHECK-OUTPUT: doubleSize: true
77- print ( " doubleSize: \( S . doubleSize == getSize ( ) * 2 ) " )
76+ print ( " doubleSize: \( S . doubleSize == getSize ( S . self ) * 2 ) " )
7877}
7978
8079testit ( )
0 commit comments