73 lines · cpp
1// XFAIL: target={{.*}}-aix{{.*}}2// RUN: %clangxx_profgen -fcoverage-mapping -Wno-comment -o %t %s3// RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t4// RUN: llvm-profdata merge -o %t.profdata %t.profraw5// RUN: llvm-cov show %t -instr-profile %t.profdata 2>&1 | FileCheck %s6 7int 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