forked from OSchip/llvm-project
Coverage mapping: fix mapping for objective-c for statement
llvm-svn: 216082
This commit is contained in:
parent
01a0d062aa
commit
fdd769e847
|
@ -836,6 +836,7 @@ struct CounterCoverageMappingBuilder
|
|||
// Counter tracks the body of the loop.
|
||||
RegionMapper Cnt(this, S);
|
||||
BreakContinueStack.push_back(BreakContinue());
|
||||
Cnt.beginRegion();
|
||||
VisitSubStmtRBraceState(S->getBody());
|
||||
BreakContinue BC = BreakContinueStack.pop_back_val();
|
||||
Cnt.adjustForControlFlow();
|
||||
|
|
|
@ -9,3 +9,21 @@ void func(A *a) { // CHECK-NEXT: File 0, [[@LINE]]:17 -> [[@LINE+3]]:2 = #0
|
|||
if (a)
|
||||
[a bork: 20 ]; // CHECK-NEXT: File 0, [[@LINE]]:5 -> [[@LINE]]:20 = #1 (HasCodeBefore = 0)
|
||||
}
|
||||
|
||||
@interface NSArray
|
||||
+ (NSArray*) arrayWithObjects: (id) first, ...;
|
||||
- (unsigned) count;
|
||||
@end
|
||||
|
||||
// CHECK: func2
|
||||
void func2(NSArray *array) { // CHECK-NEXT: File 0, [[@LINE]]:28 -> [[@LINE+10]]:2 = #0 (HasCodeBefore = 0)
|
||||
int i = 0;
|
||||
for (NSArray *x in array) { // CHECK-NEXT: File 0, [[@LINE]]:29 -> [[@LINE+6]]:4 = #1 (HasCodeBefore = 0)
|
||||
if (x) { // CHECK-NEXT: File 0, [[@LINE]]:12 -> [[@LINE+2]]:6 = #2 (HasCodeBefore = 0)
|
||||
i = 1;
|
||||
} else { // CHECK-NEXT: File 0, [[@LINE]]:12 -> [[@LINE+2]]:6 = (#1 - #2) (HasCodeBefore = 0)
|
||||
i = -1;
|
||||
}
|
||||
}
|
||||
i = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue