@@ -51,17 +51,18 @@ enum Algebraic {
51
51
func nop( ) { }
52
52
53
53
// CHECK-LABEL: sil_coverage_map {{.*}}// coverage_switch.f2
54
- func f2( _ x : Algebraic ) -> Int32 { // CHECK-NEXT: [[@LINE]]:35 -> [[@LINE+15 ]]:2 : 0
54
+ func f2( _ x : Algebraic ) -> Int32 { // CHECK-NEXT: [[@LINE]]:35 -> [[@LINE+16 ]]:2 : 0
55
55
switch ( x) { // CHECK-NEXT: [[@LINE]]:9 -> [[@LINE]]:12 : 0
56
56
case let . Type1( y, z) : // CHECK-NEXT: [[@LINE]]:3 -> [[@LINE+1]]:10 : 1
57
57
nop ( )
58
58
case . Type2( let b) : // CHECK-NEXT: [[@LINE]]:3 -> [[@LINE+2]]:16 : 2
59
59
nop ( )
60
60
fallthrough
61
- case . Type3: // CHECK-NEXT: [[@LINE]]:3 -> [[@LINE+3 ]]:6 : (2 + 3)
61
+ case . Type3: // CHECK-NEXT: [[@LINE]]:3 -> [[@LINE+4 ]]:7 : (2 + 3)
62
62
if ( false ) { // CHECK-NEXT: [[@LINE]]:8 -> [[@LINE]]:15 : (2 + 3)
63
63
fallthrough // CHECK-NEXT: [[@LINE-1]]:16 -> [[@LINE+1]]:6 : 4
64
- } // CHECK-NEXT: [[@LINE]]:6 -> [[@LINE]]:6 : ((2 + 3) - 4)
64
+ } // CHECK-NEXT: [[@LINE]]:6 -> [[@LINE+1]]:7 : ((2 + 3) - 4)
65
+ ( ) // Here to make sure this region is non empty ^
65
66
case . Type4: // CHECK-NEXT: [[@LINE]]:3 -> [[@LINE+1]]:10 : (4 + 5)
66
67
break
67
68
} // CHECK-NEXT: [[@LINE]]:4 -> [[@LINE+1]]:11 : (((1 + 2) + 3) + 5)
@@ -91,23 +92,25 @@ f2(Algebraic.Type3)
91
92
f3 ( Simple . Second)
92
93
93
94
// CHECK-LABEL: sil_coverage_map {{.*}}// coverage_switch.f4
94
- func f4( _ x: Int ) throws -> Int { // CHECK-NEXT: [[@LINE]]:33 -> [[@LINE+21 ]]:2 : 0
95
- y: do { // CHECK-NEXT: [[@LINE]]:9 -> [[@LINE+18 ]]:4 : 0
95
+ func f4( _ x: Int ) throws -> Int { // CHECK-NEXT: [[@LINE]]:33 -> [[@LINE+23 ]]:2 : 0
96
+ y: do { // CHECK-NEXT: [[@LINE]]:9 -> [[@LINE+20 ]]:4 : 0
96
97
switch x { // CHECK-NEXT: [[@LINE]]:12 -> [[@LINE]]:13 : 0
97
98
case 1 , 2 , 3 : // CHECK-NEXT: [[@LINE]]:5 -> [[@LINE+4]]:18 : 1
98
99
if . random( ) { // CHECK-NEXT: [[@LINE]]:10 -> [[@LINE]]:19 : 1
99
100
return 5 // CHECK-NEXT: [[@LINE-1]]:20 -> [[@LINE+1]]:8 : 2
100
101
} // CHECK-NEXT: [[@LINE]]:8 -> [[@LINE+1]]:18 : (1 - 2)
101
102
fallthrough
102
- case 4 : // CHECK-NEXT: [[@LINE]]:5 -> [[@LINE+4 ]]:8 : ((1 + 3) - 2)
103
+ case 4 : // CHECK-NEXT: [[@LINE]]:5 -> [[@LINE+5 ]]:9 : ((1 + 3) - 2)
103
104
if . random( ) { // CHECK-NEXT: [[@LINE]]:10 -> [[@LINE]]:19 : ((1 + 3) - 2)
104
105
struct E : Error { } // CHECK-NEXT: [[@LINE-1]]:20 -> [[@LINE+2]]:8 : 4
105
106
throw E ( )
106
- } // CHECK-NEXT: [[@LINE]]:8 -> [[@LINE]]:8 : (((1 + 3) - 2) - 4)
107
- default : // CHECK-NEXT: [[@LINE]]:5 -> [[@LINE+3]]:8 : 5
107
+ } // CHECK-NEXT: [[@LINE]]:8 -> [[@LINE+1]]:9 : (((1 + 3) - 2) - 4)
108
+ ( ) // Here to make sure this region is non empty ^
109
+ default: // CHECK-NEXT: [[@LINE]]:5 -> [[@LINE+4]]:9 : 5
108
110
if . random ( ) { // CHECK-NEXT: [[@LINE]]:10 -> [[@LINE]]:19 : 5
109
111
break y // CHECK-NEXT: [[@LINE-1]]:20 -> [[@LINE+1]]:8 : 6
110
- } // CHECK-NEXT: [[@LINE]]:8 -> [[@LINE]]:8 : (5 - 6)
112
+ } // CHECK-NEXT: [[@LINE]]:8 -> [[@LINE+1]]:9 : (5 - 6)
113
+ ( ) // Here to make sure this region is non empty ^
111
114
}
112
115
f1 ( 0 ) // CHECK-NEXT: [[@LINE-1]]:6 -> [[@LINE+1]]:4 : (((((1 + 3) + 5) - 2) - 4) - 6)
113
116
}
0 commit comments