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