xref: /llvm-project/compiler-rt/test/profile/coverage_emptylines.cpp (revision 92ad0397f494a9895385057586cc59a908107f81)
1*92ad0397SWael Yehia // XFAIL: target={{.*}}-aix{{.*}}
29caa3fbeSZequan Wu // Remove comments first.
39caa3fbeSZequan Wu // RUN: sed 's/[ \t]*\/\/.*//' %s > %t.stripped.cpp
49caa3fbeSZequan Wu // RUN: %clangxx_profgen -fcoverage-mapping -o %t %t.stripped.cpp
59caa3fbeSZequan Wu // RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t
69caa3fbeSZequan Wu // RUN: llvm-profdata merge -o %t.profdata %t.profraw
7f23fae29SFangrui Song // RUN: llvm-cov show %t -instr-profile %t.profdata 2>&1 | FileCheck %s
89caa3fbeSZequan Wu 
99caa3fbeSZequan Wu 
109caa3fbeSZequan Wu int main() {                        // CHECK:       [[# @LINE]]| 1|int main() {
119caa3fbeSZequan Wu     int x = 0;                      // CHECK-NEXT:  [[# @LINE]]| 1|
129caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
139caa3fbeSZequan Wu     x = 1;                          // CHECK-NEXT:  [[# @LINE]]| 1|
149caa3fbeSZequan Wu     if (x)                          // CHECK-NEXT:  [[# @LINE]]| 1|
159caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
169caa3fbeSZequan Wu         x                           // CHECK-NEXT:  [[# @LINE]]| 1|
179caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
189caa3fbeSZequan Wu         =                           // CHECK-NEXT:  [[# @LINE]]| 1|
199caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
209caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
219caa3fbeSZequan Wu         0;                          // CHECK-NEXT:  [[# @LINE]]| 1|
229caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
239caa3fbeSZequan Wu     if (x)                          // CHECK-NEXT:  [[# @LINE]]| 1|
249caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
259caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
269caa3fbeSZequan Wu         x = 1;                      // CHECK-NEXT:  [[# @LINE]]| 0|
279caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
289caa3fbeSZequan Wu     #ifdef UNDEFINED                // CHECK-NEXT:  [[# @LINE]]|  |
299caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
309caa3fbeSZequan Wu     int y = 0;                      // CHECK-NEXT:  [[# @LINE]]|  |
319caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
329caa3fbeSZequan Wu     y = 1;                          // CHECK-NEXT:  [[# @LINE]]|  |
339caa3fbeSZequan Wu     if (y)                          // CHECK-NEXT:  [[# @LINE]]|  |
349caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
359caa3fbeSZequan Wu         y                           // CHECK-NEXT:  [[# @LINE]]|  |
369caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
379caa3fbeSZequan Wu         =                           // CHECK-NEXT:  [[# @LINE]]|  |
389caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
399caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
409caa3fbeSZequan Wu         0;                          // CHECK-NEXT:  [[# @LINE]]|  |
419caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
429caa3fbeSZequan Wu     #endif                          // CHECK-NEXT:  [[# @LINE]]|  |
439caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
449caa3fbeSZequan Wu     #define DEFINED 1               // CHECK-NEXT:  [[# @LINE]]| 1|
459caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
469caa3fbeSZequan Wu     #ifdef DEFINED                  // CHECK-NEXT:  [[# @LINE]]| 1|
479caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
489caa3fbeSZequan Wu     int y = 0;                      // CHECK-NEXT:  [[# @LINE]]| 1|
499caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
509caa3fbeSZequan Wu     y = 1;                          // CHECK-NEXT:  [[# @LINE]]| 1|
519caa3fbeSZequan Wu     if (y)                          // CHECK-NEXT:  [[# @LINE]]| 1|
529caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
539caa3fbeSZequan Wu         y                           // CHECK-NEXT:  [[# @LINE]]| 1|
549caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
559caa3fbeSZequan Wu         =                           // CHECK-NEXT:  [[# @LINE]]| 1|
569caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
579caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
589caa3fbeSZequan Wu         0;                          // CHECK-NEXT:  [[# @LINE]]| 1|
599caa3fbeSZequan Wu     #endif                          // CHECK-NEXT:  [[# @LINE]]| 1|
609caa3fbeSZequan Wu                                     // CHECK-NEXT:  [[# @LINE]]|  |
619caa3fbeSZequan Wu     return 0;                       // CHECK-NEXT:  [[# @LINE]]| 1|
629caa3fbeSZequan Wu }                                   // CHECK-NEXT:  [[# @LINE]]| 1|
63