1*67e74705SXin Li // RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li #define START_SCOPE { 4*67e74705SXin Li #define END_SCOPE } 5*67e74705SXin Li 6*67e74705SXin Li // CHECK: {{_Z2f0v|\?f0@@YAXXZ}}: 7*67e74705SXin Li // CHECK-NEXT: File 0, [[@LINE+1]]:18 -> [[@LINE+1]]:20 = 0 f0()8*67e74705SXin Liinline void f0() {} 9*67e74705SXin Li 10*67e74705SXin Li // CHECK: {{_Z2f1v|\?f1@@YAXXZ}}: 11*67e74705SXin Li // CHECK-NEXT: File 0, [[@LINE+1]]:18 -> [[@LINE+1]]:31 = 0 12*67e74705SXin Li inline void f1() START_SCOPE } 13*67e74705SXin Li 14*67e74705SXin Li // CHECK: {{_Z2f2v|\?f2@@YAXXZ}}: 15*67e74705SXin Li // CHECK-NEXT: File 0, [[@LINE+1]]:18 -> [[@LINE+1]]:29 = 0 16*67e74705SXin Li inline void f2() { END_SCOPE 17*67e74705SXin Li 18*67e74705SXin Li // CHECK: {{_Z2f3v|\?f3@@YAXXZ}}: 19*67e74705SXin Li // CHECK-NEXT: File 0, [[@LINE+1]]:18 -> [[@LINE+1]]:39 = 0 20*67e74705SXin Li inline void f3() START_SCOPE END_SCOPE 21*67e74705SXin Li 22*67e74705SXin Li // CHECK: {{_Z2f4v|\?f4@@YAXXZ}}: 23*67e74705SXin Li // CHECK-NEXT: File 0, [[@LINE+2]]:10 -> [[@LINE+3]]:2 = 0 24*67e74705SXin Li inline void f4() 25*67e74705SXin Li #include "Inputs/starts_a_scope_only" 26*67e74705SXin Li } 27*67e74705SXin Li 28*67e74705SXin Li // CHECK: {{_Z2f5v|\?f5@@YAXXZ}}: 29*67e74705SXin Li // CHECK-NEXT: File 0, [[@LINE+1]]:18 -> [[@LINE+2]]:36 = 0 30*67e74705SXin Li inline void f5() { 31*67e74705SXin Li #include "Inputs/ends_a_scope_only" 32*67e74705SXin Li 33*67e74705SXin Li // CHECK: {{_Z2f6v|\?f6@@YAXXZ}}: 34*67e74705SXin Li // CHECK-NEXT: File 0, [[@LINE+2]]:10 -> [[@LINE+3]]:36 = 0 35*67e74705SXin Li inline void f6() 36*67e74705SXin Li #include "Inputs/starts_a_scope_only" 37*67e74705SXin Li #include "Inputs/ends_a_scope_only" 38