/* { dg-options "-fprofile-arcs -ftest-coverage" } */ /* { dg-do run { target native } } */ /* { dg-require-effective-target indirect_jumps } */ void *buf[5]; void fjmp (void) { __builtin_longjmp (buf, 1); } int main(void) { int last = 0; if (__builtin_setjmp (buf) == 0) { /* count(2) */ __builtin_printf("True branch\n"); while (1) { last = 1; /* count(1) */ fjmp (); /* count(1) */ } } else { __builtin_printf("False branch\n"); } return 0; } /* { dg-final { run-gcov gcov-pr85372.c } } */