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