File: gcov-6.c

package info (click to toggle)
gcc-arm-none-eabi 15%3A14.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,099,328 kB
  • sloc: cpp: 3,627,108; ansic: 2,571,498; ada: 834,230; f90: 235,082; makefile: 79,231; asm: 74,984; xml: 51,692; exp: 39,736; sh: 33,298; objc: 15,629; python: 15,069; fortran: 14,429; pascal: 7,003; awk: 5,070; perl: 3,106; ml: 285; lisp: 253; lex: 204; haskell: 135
file content (39 lines) | stat: -rw-r--r-- 886 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* Check that call return percentages are reported correctly by gcov,
   along with line counts and branch percentages.  This test case is
   meant to be simple, as it was added at the same time that checking
   for call return percentages was added.  */

/* { dg-options "-fprofile-arcs -ftest-coverage" } */
/* { dg-do run { target native } } */

extern void exit (int);

int val;

void
foo (int i)
{
  					/* branch(80) */
  if (i < 0)				/* count(5) */
    					/* branch(end) */
    					/* returns(0) */
    exit (0);				/* count(1) */
  					/* returns(end) */
  val += i;				/* count(4) */
}

int
main()
{
  int i;

  					/* returns(100) */
  foo (100);				/* count(1) */
  					/* returns(end) */
  for (i = 2; i > -10; i--)
    					/* returns(75) */
    foo (i);				/* count(4) */
  					/* returns(end) */
}

/* { dg-final { run-gcov branches calls { -b gcov-6.c } } } */