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