72 lines · c
1/// Test that llvm-cov supports gcov 8 compatible format.2#include <math.h>3#include <stdio.h>4int main() { // GCOV: 1: [[@LINE]]:int main5 double a[11], result; // GCOV-NEXT: -: [[@LINE]]:6 for (int i = 0; i < 11; i++) // GCOV-NEXT: 12: [[@LINE]]:7 scanf("%lf", &a[i]); // GCOV-NEXT: 11: [[@LINE]]:8 for (int i = 10; i >= 0; i--) { // GCOV-NEXT: 12: [[@LINE]]:9 result = sqrt(fabs(a[i])) + 5 * pow(a[i], 3); // GCOV-NEXT: 11: [[@LINE]]:10 printf("\nf(%lf) = "); // GCOV-NEXT: 11: [[@LINE]]:11 if (result > 400) printf("Overflow!"); // GCOV-NEXT: 11: [[@LINE]]:12 else printf("%lf", result); // GCOV-NEXT: 4: [[@LINE]]:13 } // GCOV-NEXT: -: [[@LINE]]:14 return 0; // GCOV-NEXT: 1: [[@LINE]]:15} // GCOV-NEXT: -: [[@LINE]]:16 17// RUN: rm -rf %t && mkdir %t && cd %t18// RUN: cp %s %p/Inputs/gcov-8.gc* .19 20// RUN: llvm-cov gcov gcov-8.c | FileCheck %s --check-prefixes=OUT,OUTFILE21// OUT: File 'gcov-8.c'22// OUT-NEXT: Lines executed:100.00% of 923// OUT-B-NEXT: Branches executed:100.00% of 1424// OUT-B-NEXT: Taken at least once:71.43% of 1425// OUT-B-NEXT: No calls26// OUTFILE-NEXT: Creating 'gcov-8.c.gcov'27// OUT-EMPTY:28 29// RUN: FileCheck --input-file=%t/gcov-8.c.gcov --check-prefix=HEADER %s30// RUN: FileCheck --input-file=%t/gcov-8.c.gcov --check-prefix=GCOV %s31 32// HEADER: {{^}} -: 0:Source:gcov-8.c33// HEADER-NEXT: -: 0:Graph:gcov-8.gcno34// HEADER-NEXT: -: 0:Data:gcov-8.gcda35// HEADER-NEXT: -: 0:Runs:1{{$}}36// HEADER-NEXT: -: 0:Programs:137// HEADER-NEXT: -: 1:/// Test that llvm-cov38 39// RUN: llvm-cov gcov -i gcov-8.c | FileCheck %s --check-prefix=OUT40// RUN: FileCheck %s --check-prefix=I < gcov-8.c.gcov41// RUN: llvm-cov gcov --intermediate-format gcov-8.c42// RUN: FileCheck %s --check-prefix=I < gcov-8.c.gcov43 44// RUN: llvm-cov gcov -i -b gcov-8.c | FileCheck %s --check-prefixes=OUT,OUT-B45// RUN: FileCheck %s --check-prefixes=I,I-B < gcov-8.c.gcov46 47// I:file:gcov-8.c48// I-NEXT:function:4,1,main49// I-NEXT:lcount:4,150// I-NEXT:lcount:6,1251// I-B-NEXT:branch:6,taken52// I-B-NEXT:branch:6,taken53// I-NEXT:lcount:7,1154// I-B-NEXT:branch:7,taken55// I-B-NEXT:branch:7,nottaken56// I-NEXT:lcount:8,1257// I-B-NEXT:branch:8,taken58// I-B-NEXT:branch:8,taken59// I-NEXT:lcount:9,1160// I-NEXT:lcount:10,1161// I-B-NEXT:branch:10,taken62// I-B-NEXT:branch:10,nottaken63// I-NEXT:lcount:11,1164// I-B-NEXT:branch:11,taken65// I-B-NEXT:branch:11,taken66// I-B-NEXT:branch:11,taken67// I-B-NEXT:branch:11,nottaken68// I-NEXT:lcount:12,469// I-B-NEXT:branch:12,taken70// I-B-NEXT:branch:12,nottaken71// I-NEXT:lcount:14,172