|
2 | 2 |
|
3 | 3 | func markUsed<T>(t: T) {}
|
4 | 4 |
|
5 |
| -// FIXME: Should be DW_TAG_interface_type |
6 |
| -// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "IGiveOutInts" |
7 |
| -// CHECK-SAME: identifier: [[PT:"[^"]+"]] |
8 |
| -protocol IGiveOutInts { |
| 5 | +public protocol IGiveOutInts { |
9 | 6 | func callMe() -> Int64
|
10 | 7 | }
|
11 | 8 |
|
12 |
| -class SomeImplementor : IGiveOutInts { |
13 |
| - init() {} |
14 |
| - func callMe() -> Int64 { return 1 } |
15 |
| -} |
| 9 | +// CHECK: define {{.*}}@_TF11protocolarg16printSomeNumbersFPS_12IGiveOutInts_T_ |
| 10 | +// CHECK: @llvm.dbg.declare(metadata %P11protocolarg12IGiveOutInts_* % |
| 11 | +// CHECK-SAME: metadata ![[VAR:.*]], metadata ![[EMPTY:.*]]) |
| 12 | +// CHECK: @llvm.dbg.declare(metadata %P11protocolarg12IGiveOutInts_** % |
| 13 | +// CHECK-SAME: metadata ![[ARG:.*]], metadata ![[DEREF:.*]]) |
| 14 | + |
| 15 | +// FIXME: Should be DW_TAG_interface_type |
| 16 | +// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "IGiveOutInts" |
| 17 | +// CHECK-SAME: identifier: [[PT:"[^"]+"]] |
16 | 18 |
|
17 |
| -func printSomeNumbers(gen: IGiveOutInts) { |
| 19 | +public func printSomeNumbers(gen: IGiveOutInts) { |
18 | 20 | var gen = gen
|
19 |
| - // CHECK: !DILocalVariable(name: "gen", scope{{.*}} line: [[@LINE-1]] |
20 |
| - // CHECK: !DILocalVariable(name: "gen", arg: 1{{.*}} line: [[@LINE-3]] |
21 |
| - // CHECK-SAME: type: ![[PT]] |
| 21 | + // CHECK: ![[EMPTY]] = !DIExpression() |
| 22 | + // CHECK: ![[VAR]] = !DILocalVariable(name: "gen", {{.*}} line: [[@LINE-2]] |
| 23 | + // CHECK: ![[ARG]] = !DILocalVariable(name: "gen", arg: 1, |
| 24 | + // CHECK-SAME: line: [[@LINE-5]], type: ![[PT]] |
| 25 | + // CHECK: ![[DEREF]] = !DIExpression(DW_OP_deref) |
22 | 26 | markUsed(gen.callMe())
|
23 | 27 | }
|
24 | 28 |
|
25 |
| -var i1 : IGiveOutInts = SomeImplementor() |
26 |
| - |
27 |
| -printSomeNumbers(i1) |
28 |
| - |
0 commit comments