Clang Project

clang_source_code/test/CoverageMapping/header.cpp
1// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name header.cpp %s > %tmapping
2// RUN: FileCheck -input-file %tmapping %s --check-prefix=CHECK-FUNC
3// RUN: FileCheck -input-file %tmapping %s --check-prefix=CHECK-STATIC-FUNC
4// RUN: FileCheck -input-file %tmapping %s --check-prefix=CHECK-STATIC-FUNC2
5//
6// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -mllvm -limited-coverage-experimental=true -dump-coverage-mapping -emit-llvm-only -main-file-name header.cpp %s > %tmapping.limited
7// RUN: FileCheck -input-file %tmapping.limited %s --check-prefix=CHECK-LIMITED
8
9#include "Inputs/header1.h"
10
11int main() {
12  func(1);
13  static_func(2);
14}
15
16// CHECK-FUNC: func
17// CHECK-FUNC: File 0, 4:25 -> 11:2 = #0
18// CHECK-FUNC: File 0, 6:15 -> 8:4 = #1
19// CHECK-FUNC: File 0, 8:10 -> 10:4 = (#0 - #1)
20
21// CHECK-STATIC-FUNC: static_func
22// CHECK-STATIC-FUNC: File 0, 12:32 -> 20:2 = #0
23// CHECK-STATIC-FUNC: File 0, 14:15 -> 16:4 = #1
24// CHECK-STATIC-FUNC: File 0, 16:10 -> 18:4 = (#0 - #1)
25
26// CHECK-STATIC-FUNC2: static_func2
27// CHECK-STATIC-FUNC2: File 0, 21:33 -> 29:2 = 0
28
29// CHECK-LIMITED-NOT: static_func2
30