1// CHECK:        -:    0:Source:{{.*}}Inputs/instrprof-shared-main-gcov-flush.c
2// CHECK-NEXT:        -:    0:Graph:instrprof-shared-main-gcov-flush.gcno
3// CHECK-NEXT:        -:    0:Data:instrprof-shared-main-gcov-flush.gcda
4// CHECK-NEXT:        -:    0:Runs:1
5// CHECK-NEXT:        -:    0:Programs:1
6// CHECK-NEXT:        -:    1:extern void foo(int n);
7// CHECK-NEXT:        -:    2:extern void __gcov_flush(void);
8// CHECK-NEXT:        -:    3:
9// CHECK-NEXT:        -:    4:int bar1 = 0;
10// CHECK-NEXT:        -:    5:int bar2 = 1;
11// CHECK-NEXT:        -:    6:
12// CHECK-NEXT:        3:    7:void bar(int n) {
13// CHECK-NEXT:        3:    8:  if (n % 5 == 0)
14// CHECK-NEXT:        3:    9:    bar1++;
15// CHECK-NEXT:        -:   10:  else
16// CHECK-NEXT:    #####:   11:    bar2++;
17// CHECK-NEXT:        3:   12:}
18// CHECK-NEXT:        -:   13:
19// CHECK-NEXT:        1:   14:int main(int argc, char *argv[]) {
20// CHECK-NEXT:        -:   15:#ifdef SHARED_CALL_BEFORE_GCOV_FLUSH
21// CHECK-NEXT:        1:   16:  foo(1);
22// CHECK-NEXT:        -:   17:#endif
23// CHECK-NEXT:        -:   18:
24// CHECK-NEXT:        1:   19:  bar(5);
25// CHECK-NEXT:        -:   20:
26// CHECK-NEXT:        1:   21:  __gcov_flush();
27// CHECK-NEXT:        -:   22:
28// CHECK-NEXT:        1:   23:  bar(5);
29// CHECK-NEXT:        -:   24:
30// CHECK-NEXT:        -:   25:#ifdef SHARED_CALL_AFTER_GCOV_FLUSH
31// CHECK-NEXT:        -:   26:  foo(1);
32// CHECK-NEXT:        -:   27:#endif
33// CHECK-NEXT:        -:   28:
34// CHECK-NEXT:        -:   29:#ifdef EXIT_ABRUPTLY
35// CHECK-NEXT:        -:   30:  _exit(0);
36// CHECK-NEXT:        -:   31:#endif
37// CHECK-NEXT:        -:   32:
38// CHECK-NEXT:        1:   33:  bar(5);
39// CHECK-NEXT:        -:   34:
40// CHECK-NEXT:        1:   35:  return 0;
41// CHECK-NEXT:        -:   36:}
42