- Notifications
You must be signed in to change notification settings - Fork 10.5k
/
Copy pathdynamic_layout.swift
33 lines (27 loc) · 878 Bytes
/
dynamic_layout.swift
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
// RUN: %target-swift-frontend %s -emit-ir -g -o - | %FileCheck %s
func markUsed<T>(_ t:T){}
classClass<T>{
varx:T
init(_x :T){x = _x}
// Verify that the mangling of the type U is correct.
// CHECK: define {{.*}}3foo
// CHECK: %[[U1:.*]] = alloca ptr
// CHECK: call void @llvm.dbg.declare(metadata ptr %[[U1]],
// CHECK-SAME: metadata ![[U:[0-9]+]]
// CHECK: %[[T2:.*]] = alloca ptr
// CHECK: call void @llvm.dbg.declare(metadata ptr %[[T2]],
// CHECK-SAME: metadata ![[T:[0-9]+]]
// CHECK: ![[U]] = !DILocalVariable(name: "$\CF\84_1_0"
// CHECK: ![[T]] = !DILocalVariable(name: "$\CF\84_0_0"
func foo <U>(_ y :U)->(T,U){
vartuple=(x,y)
return tuple
}
}
func main(){
varv=Class<Int64>(_x:1)
vartuple= v.foo("hi")
markUsed(tuple.0)
markUsed(tuple.1)
}
main()