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