1*67e74705SXin Li// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name objc.m -triple x86_64-apple-darwin -fobjc-runtime=macosx-fragile-10.5 %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li@interface A 4*67e74705SXin Li- (void)bork:(int)msg; 5*67e74705SXin Li@end 6*67e74705SXin Li 7*67e74705SXin Li // CHECK: func 8*67e74705SXin Livoid func(A *a) { // CHECK-NEXT: File 0, [[@LINE]]:17 -> [[@LINE+3]]:2 = #0 9*67e74705SXin Li if (a) // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:8 = #0 10*67e74705SXin Li [a bork: 20 ]; // CHECK-NEXT: File 0, [[@LINE]]:5 -> [[@LINE]]:20 = #1 11*67e74705SXin Li} 12*67e74705SXin Li 13*67e74705SXin Li@interface NSArray 14*67e74705SXin Li+ (NSArray*) arrayWithObjects: (id) first, ...; 15*67e74705SXin Li- (unsigned) count; 16*67e74705SXin Li@end 17*67e74705SXin Li 18*67e74705SXin Li // CHECK: func2 19*67e74705SXin Livoid func2(NSArray *array) { // CHECK-NEXT: File 0, [[@LINE]]:28 -> {{[0-9]+}}:2 = #0 20*67e74705SXin Li int i = 0; 21*67e74705SXin Li for (NSArray *x in array) { // CHECK-NEXT: File 0, [[@LINE]]:29 -> [[@LINE+7]]:4 = #1 22*67e74705SXin Li // CHECK-NEXT: File 0, [[@LINE+1]]:9 -> [[@LINE+1]]:10 = #1 23*67e74705SXin Li if (x) { // CHECK-NEXT: File 0, [[@LINE]]:12 -> [[@LINE+2]]:6 = #2 24*67e74705SXin Li i = 1; 25*67e74705SXin Li } else { // CHECK-NEXT: File 0, [[@LINE]]:12 -> [[@LINE+2]]:6 = (#1 - #2) 26*67e74705SXin Li i = -1; 27*67e74705SXin Li } 28*67e74705SXin Li } 29*67e74705SXin Li i = 0; 30*67e74705SXin Li} 31