1 // XFAIL: aix
2 // RUN: mkdir -p %t.dir && cd %t.dir
3 
4 /// gcov 3.4 redesigned the format and changed the extension from .da to .gcda
5 // RUN: %clang --coverage -Xclang -coverage-version='304*' %s -o %t
6 // RUN: rm -f gcov-basic.gcda && %run %t && %run %t a
7 // RUN: llvm-cov gcov -t gcov-basic.gcno | FileCheck %s
8 
9 /// r173147: split checksum into cfg checksum and line checksum.
10 // RUN: %clang --coverage -Xclang -coverage-version='407*' %s -o %t
11 // RUN: rm -f gcov-basic.gcda && %run %t && %run %t a
12 // RUN: llvm-cov gcov -t gcov-basic.gcno | FileCheck %s
13 
14 /// r189778: the exit block moved from the last to the second.
15 // RUN: %clang --coverage -Xclang -coverage-version='408*' %s -o %t
16 // RUN: rm -f gcov-basic.gcda && %run %t && %run %t a
17 // RUN: llvm-cov gcov -t gcov-basic.gcno
18 
19 /// PR gcov-profile/48463
20 // RUN: %clang --coverage -Xclang -coverage-version='800*' %s -o %t
21 // RUN: rm -f gcov-basic.gcda && %run %t && %run %t a
22 // RUN: llvm-cov gcov -t gcov-basic.gcno
23 
24 /// PR gcov-profile/84846, r269678
25 // RUN: %clang --coverage -Xclang -coverage-version='900*' %s -o %t
26 // RUN: rm -f gcov-basic.gcda && %run %t && %run %t a
27 // RUN: llvm-cov gcov -t gcov-basic.gcno
28 
29 // CHECK: Runs:2
30 
31 #include <stdio.h>
32 
main(int argc,char * argv[])33 int main(int argc, char *argv[]) { // CHECK:      2: [[@LINE]]:int main
34   if (argc > 1)                    // CHECK-NEXT: 2: [[@LINE]]:
35     puts("hello");                 // CHECK-NEXT: 1: [[@LINE]]:
36   return 0;                        // CHECK-NEXT: 2: [[@LINE]]:
37 }
38