3
3
4
4
struct S {
5
5
// CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.S.init() -> coverage_catch.S
6
- init ( ) { // CHECK: [[@LINE]]:10 -> [[@LINE+6]]:4 : 0
7
- do { // CHECK: [[@LINE]]:8 -> [[@LINE+2]]:6 : 0
6
+ init ( ) { // CHECK: [[@LINE]]:10 -> [[@LINE+6]]:4 : 0
7
+ do { // CHECK: [[@LINE]]:8 -> [[@LINE+2]]:6 : 0
8
8
throw SomeErr . Err1
9
9
} catch {
10
10
// CHECK: [[@LINE-1]]:13 -> [[@LINE+1]]:6 : 1
@@ -17,14 +17,14 @@ enum SomeErr : Error {
17
17
case Err2
18
18
}
19
19
20
- // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.bar
21
- func bar ( ) throws {
22
- // CHECK-NEXT: [[@LINE-1]]:19 -> [[@LINE+2]]:2 : 0
20
+ // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.test1
21
+ func test1 ( ) throws {
22
+ // CHECK-NEXT: [[@LINE-1]]:21 -> [[@LINE+2]]:2 : 0
23
23
throw SomeErr . Err2
24
24
} // CHECK-NEXT: }
25
25
26
- // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.baz
27
- func baz ( _ fn: ( ) throws -> ( ) ) rethrows {
26
+ // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.test2
27
+ func test2 ( _ fn: ( ) throws -> ( ) ) rethrows {
28
28
do {
29
29
try fn ( )
30
30
} catch SomeErr . Err1 { // CHECK: [[@LINE]]:24 -> {{[0-9]+}}:4 : 1
@@ -34,8 +34,8 @@ func baz(_ fn: () throws -> ()) rethrows {
34
34
try fn ( )
35
35
} // CHECK-NEXT: }
36
36
37
- // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.foo
38
- func foo ( ) -> Int32 {
37
+ // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.test3
38
+ func test3 ( ) -> Int32 {
39
39
var x : Int32 = 0
40
40
41
41
do {
@@ -48,41 +48,41 @@ func foo() -> Int32 {
48
48
} // CHECK: [[@LINE]]:4 -> {{[0-9:]+}} : 0
49
49
50
50
do {
51
- try baz ( bar )
51
+ try test2 ( test1 )
52
52
} catch _ {
53
53
// CHECK: [[@LINE-1]]:13 -> [[@LINE+1]]:4 : 3
54
54
} // CHECK: [[@LINE]]:4 -> {{[0-9:]+}} : 0
55
55
56
56
do {
57
- try baz { ( ) throws -> ( ) in throw SomeErr . Err1 }
57
+ try test2 { ( ) throws -> ( ) in throw SomeErr . Err1 }
58
58
} catch _ { }
59
59
60
- try ! baz { ( ) throws -> ( ) in return }
60
+ try ! test2 { ( ) throws -> ( ) in return }
61
61
62
62
return x
63
63
}
64
64
65
- let _ = foo ( )
65
+ let _ = test3 ( )
66
66
67
67
// rdar://34244637 - Coverage after a do-catch is incorrect
68
- // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.goo
69
- func goo ( _ b: Bool ) -> Int { // CHECK-NEXT: [[@LINE]]:28 {{.*}} : 0
70
- do { // CHECK-NEXT: [[@LINE]]:6 -> [[@LINE+2]]:4 : 0
68
+ // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.test4
69
+ func test4 ( _ b: Bool ) -> Int { // CHECK-NEXT: [[@LINE]]:30 {{.*}} : 0
70
+ do { // CHECK-NEXT: [[@LINE]]:6 -> [[@LINE+2]]:4 : 0
71
71
throw SomeErr . Err1
72
- } catch { // CHECK-NEXT: [[@LINE]]:11 {{.*}} : 1
73
- // CHECK-NEXT: [[@LINE+1]]:8 {{.*}} : 1
74
- if b { // CHECK-NEXT: [[@LINE]]:10 {{.*}} : 2
72
+ } catch { // CHECK-NEXT: [[@LINE]]:11 {{.*}} : 1
73
+ // CHECK-NEXT: [[@LINE+1]]:8 {{.*}} : 1
74
+ if b { // CHECK-NEXT: [[@LINE]]:10 {{.*}} : 2
75
75
return 1
76
- } // CHECK-NEXT: [[@LINE]]:6 {{.*}} : (1 - 2)
77
- } // CHECK: [[@LINE]]:4 {{.*}} : (0 - 2)
76
+ } // CHECK-NEXT: [[@LINE]]:6 {{.*}} : (1 - 2)
77
+ } // CHECK: [[@LINE]]:4 {{.*}} : (0 - 2)
78
78
return 0
79
79
}
80
80
81
81
// Test coverage with nested do-catches
82
- // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.hoo
83
- func hoo ( ) -> Int {
82
+ // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.test5
83
+ func test5 ( ) -> Int {
84
84
do {
85
- try bar ( )
85
+ try test1 ( )
86
86
do {
87
87
throw SomeErr . Err1
88
88
} catch {
@@ -96,8 +96,8 @@ func hoo() -> Int {
96
96
}
97
97
98
98
// Test coverage with a do-catch inside of a repeat-while
99
- // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.ioo
100
- func ioo ( ) -> Int {
99
+ // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.test6
100
+ func test6 ( ) -> Int {
101
101
repeat { // CHECK: [[@LINE]]:10 {{.*}} : 1
102
102
do {
103
103
throw SomeErr . Err1
@@ -110,11 +110,11 @@ func ioo() -> Int {
110
110
}
111
111
112
112
// Test coverage with a break inside a do-catch inside of a repeat-while
113
- // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.joo
114
- func joo ( ) -> Int {
113
+ // CHECK-LABEL: sil_coverage_map {{.*}}// coverage_catch.test7
114
+ func test7 ( ) -> Int {
115
115
repeat { // CHECK: [[@LINE]]:10 {{.*}} : 1
116
116
do {
117
- try bar ( )
117
+ try test1 ( )
118
118
} catch { // CHECK: [[@LINE]]:13 {{.*}} : 2
119
119
break
120
120
} // CHECK: [[@LINE]]:6 {{.*}} : (1 - 2)
@@ -124,12 +124,12 @@ func joo() -> Int {
124
124
}
125
125
126
126
// rdar://41010883 – Make sure we don't introduce an empty unreachable region.
127
- // CHECK-LABEL: sil_coverage_map {{.*}} "$s14coverage_catch3kooSiyKF" {{.*}} // coverage_catch.koo
128
- func koo ( ) throws -> Int { // CHECK-NEXT: [[@LINE]]:26 -> [[@LINE+7]]:2 : 0
129
- do { // CHECK-NEXT: [[@LINE]]:6 -> [[@LINE+3]]:4 : 0
130
- try bar ( )
127
+ // CHECK-LABEL: sil_coverage_map {{.*}} "$s14coverage_catch5test8SiyKF"
128
+ func test8 ( ) throws -> Int { // CHECK-NEXT: [[@LINE]]:28 -> [[@LINE+7]]:2 : 0
129
+ do { // CHECK-NEXT: [[@LINE]]:6 -> [[@LINE+3]]:4 : 0
130
+ try test1 ( )
131
131
return 1
132
- } catch is SomeErr { // CHECK-NEXT: [[@LINE]]:22 -> [[@LINE+2]]:4 : 1
132
+ } catch is SomeErr { // CHECK-NEXT: [[@LINE]]:22 -> [[@LINE+2]]:4 : 1
133
133
throw SomeErr . Err1
134
134
}
135
- } // CHECK-NEXT: }
135
+ } // CHECK-NEXT: }
0 commit comments