annotate gcc/testsuite/gcc.misc-tests/gcov-pr85372.c @ 138:fc828634a951

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 08 Nov 2018 14:17:14 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* { dg-options "-fprofile-arcs -ftest-coverage" } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 /* { dg-do run { target native } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 /* { dg-require-effective-target indirect_jumps } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 void *buf[5];
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 void fjmp (void) {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 __builtin_longjmp (buf, 1);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 int main(void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 int last = 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 if (__builtin_setjmp (buf) == 0) { /* count(2) */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 __builtin_printf("True branch\n");
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 while (1) {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 last = 1; /* count(1) */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 fjmp (); /* count(1) */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 } else {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 __builtin_printf("False branch\n");
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 return 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 /* { dg-final { run-gcov gcov-pr85372.c } } */