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
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|