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