1 | // XFAIL: target={{.*}}-aix{{.*}} |
2 | // RUN: %clangxx_profgen -fcoverage-mapping -Wno-comment -o %t %s |
3 | // RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t |
4 | // RUN: llvm-profdata merge -o %t.profdata %t.profraw |
5 | // RUN: llvm-cov show %t -instr-profile %t.profdata 2>&1 | FileCheck %s |
6 | |
7 | int main() { // CHECK: [[# @LINE]]| 1|int main() { |
8 | /* comment */ int x = 0; // CHECK-NEXT: [[# @LINE]]| 1| |
9 | int y = 0; /* comment */ // CHECK-NEXT: [[# @LINE]]| 1| |
10 | int z = 0; // comment // CHECK-NEXT: [[# @LINE]]| 1| |
11 | // comment // CHECK-NEXT: [[# @LINE]]| | |
12 | // CHECK-NEXT: [[# @LINE]]| | |
13 | x = 0; /* // CHECK-NEXT: [[# @LINE]]| 1| |
14 | comment // CHECK-NEXT: [[# @LINE]]| | |
15 | */ // CHECK-NEXT: [[# @LINE]]| | |
16 | // CHECK-NEXT: [[# @LINE]]| | |
17 | /* // CHECK-NEXT: [[# @LINE]]| | |
18 | comment // CHECK-NEXT: [[# @LINE]]| | |
19 | */ x = 0; // CHECK-NEXT: [[# @LINE]]| 1| |
20 | // CHECK-NEXT: [[# @LINE]]| | |
21 | /* comment */ // CHECK-NEXT: [[# @LINE]]| | |
22 | // comment // CHECK-NEXT: [[# @LINE]]| | |
23 | /* comment */ // CHECK-NEXT: [[# @LINE]]| | |
24 | z = // CHECK-NEXT: [[# @LINE]]| 1| |
25 | x // comment // CHECK-NEXT: [[# @LINE]]| 1| |
26 | // comment // CHECK-NEXT: [[# @LINE]]| | |
27 | + /* // CHECK-NEXT: [[# @LINE]]| 1| |
28 | comment // CHECK-NEXT: [[# @LINE]]| | |
29 | */ // CHECK-NEXT: [[# @LINE]]| | |
30 | /* // CHECK-NEXT: [[# @LINE]]| | |
31 | comment // CHECK-NEXT: [[# @LINE]]| | |
32 | */y; // CHECK-NEXT: [[# @LINE]]| 1| |
33 | // CHECK-NEXT: [[# @LINE]]| | |
34 | // Comments inside directives. // CHECK-NEXT: [[# @LINE]]| | |
35 | #if 0 //comment // CHECK-NEXT: [[# @LINE]]| | |
36 | /* comment */ x = 0; // CHECK-NEXT: [[# @LINE]]| | |
37 | y = 0; /* comment */ // CHECK-NEXT: [[# @LINE]]| | |
38 | z = 0; // comment // CHECK-NEXT: [[# @LINE]]| | |
39 | // comment // CHECK-NEXT: [[# @LINE]]| | |
40 | // CHECK-NEXT: [[# @LINE]]| | |
41 | x = 0; /* // CHECK-NEXT: [[# @LINE]]| | |
42 | comment // CHECK-NEXT: [[# @LINE]]| | |
43 | */ // CHECK-NEXT: [[# @LINE]]| | |
44 | // CHECK-NEXT: [[# @LINE]]| | |
45 | /* // CHECK-NEXT: [[# @LINE]]| | |
46 | comment // CHECK-NEXT: [[# @LINE]]| | |
47 | */ x = 0; // CHECK-NEXT: [[# @LINE]]| | |
48 | // CHECK-NEXT: [[# @LINE]]| | |
49 | /* comment */ // CHECK-NEXT: [[# @LINE]]| | |
50 | // comment // CHECK-NEXT: [[# @LINE]]| | |
51 | /* comment */ // CHECK-NEXT: [[# @LINE]]| | |
52 | #endif // comment // CHECK-NEXT: [[# @LINE]]| | |
53 | #if 1 // comment // CHECK-NEXT: [[# @LINE]]| 1| |
54 | /* comment */ x = 0; // CHECK-NEXT: [[# @LINE]]| 1| |
55 | y = 0; /* comment */ // CHECK-NEXT: [[# @LINE]]| 1| |
56 | z = 0; // comment // CHECK-NEXT: [[# @LINE]]| 1| |
57 | // comment // CHECK-NEXT: [[# @LINE]]| | |
58 | // CHECK-NEXT: [[# @LINE]]| | |
59 | x = 0; /* // CHECK-NEXT: [[# @LINE]]| 1| |
60 | comment // CHECK-NEXT: [[# @LINE]]| | |
61 | */ // CHECK-NEXT: [[# @LINE]]| | |
62 | // CHECK-NEXT: [[# @LINE]]| | |
63 | /* // CHECK-NEXT: [[# @LINE]]| | |
64 | comment // CHECK-NEXT: [[# @LINE]]| | |
65 | */ x = 0; // CHECK-NEXT: [[# @LINE]]| 1| |
66 | // CHECK-NEXT: [[# @LINE]]| | |
67 | /* comment */ // CHECK-NEXT: [[# @LINE]]| | |
68 | // comment // CHECK-NEXT: [[# @LINE]]| | |
69 | /* comment */ // CHECK-NEXT: [[# @LINE]]| | |
70 | #endif //comment // CHECK-NEXT: [[# @LINE]]| 1| |
71 | return 0; // CHECK-NEXT: [[# @LINE]]| 1| |
72 | } // CHECK-NEXT: [[# @LINE]]| 1| |
73 | |