1 /* Check that call return percentages are reported correctly by gcov,
2 along with line counts and branch percentages. This test case is
3 meant to be simple, as it was added at the same time that checking
4 for call return percentages was added. */
5
6 /* { dg-options "-fprofile-arcs -ftest-coverage" } */
7 /* { dg-do run { target native } } */
8
9 extern void exit (int);
10
11 int val;
12
13 void
foo(int i)14 foo (int i)
15 {
16 /* branch(80) */
17 if (i < 0) /* count(5) */
18 /* branch(end) */
19 /* returns(0) */
20 exit (0); /* count(1) */
21 /* returns(end) */
22 val += i; /* count(4) */
23 }
24
25 int
main()26 main()
27 {
28 int i;
29
30 /* returns(100) */
31 foo (100); /* count(1) */
32 /* returns(end) */
33 for (i = 2; i > -10; i--)
34 /* returns(75) */
35 foo (i); /* count(4) */
36 /* returns(end) */
37 }
38
39 /* { dg-final { run-gcov branches calls { -b gcov-6.c } } } */
40