instrprof-shared-main-gcov-flush.c
407 Bytes
extern void foo(int n);
extern void __gcov_flush(void);
int bar1 = 0;
int bar2 = 1;
void bar(int n) {
if (n % 5 == 0)
bar1++;
else
bar2++;
}
int main(int argc, char *argv[]) {
#ifdef SHARED_CALL_BEFORE_GCOV_FLUSH
foo(1);
#endif
bar(5);
__gcov_flush();
bar(5);
#ifdef SHARED_CALL_AFTER_GCOV_FLUSH
foo(1);
#endif
#ifdef EXIT_ABRUPTLY
_exit(0);
#endif
bar(5);
return 0;
}