summaryrefslogtreecommitdiff
path: root/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov
diff options
context:
space:
mode:
authorMarco Castelluccio <mcastelluccio@mozilla.com>2018-07-05 15:52:59 +0000
committerMarco Castelluccio <mcastelluccio@mozilla.com>2018-07-05 15:52:59 +0000
commit171f1837de1002d59f22d72d4794e2b7eb9c2214 (patch)
tree250e1870f681cab79319838ec5c70e006fa8bf94 /test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov
parent8147185ac81719159a02231d2e06570bcf65617f (diff)
Make __gcov_flush flush counters for all shared libraries
Summary: This will make the behavior of __gcov_flush match the GCC behavior. I would like to rename __gcov_flush to __llvm_gcov_flush (in case of programs linking to libraries built with different compilers), but I guess we can't for compatibility reasons. Reviewers: davidxl Reviewed By: davidxl Subscribers: samsonov, vitalybuka, pcc, kcc, junbuml, glider, fhahn, eugenis, dvyukov, davidxl, srhines, chh, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D48538 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@336365 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov')
-rw-r--r--test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov b/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov
new file mode 100644
index 000000000..b2dfe2acd
--- /dev/null
+++ b/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov
@@ -0,0 +1,41 @@
+// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-main-gcov-flush.c
+// CHECK-NEXT: -: 0:Graph:instrprof-shared-main-gcov-flush.gcno
+// CHECK-NEXT: -: 0:Data:instrprof-shared-main-gcov-flush.gcda
+// CHECK-NEXT: -: 0:Runs:1
+// CHECK-NEXT: -: 0:Programs:1
+// CHECK-NEXT: -: 1:extern void foo(int n);
+// CHECK-NEXT: -: 2:extern void __gcov_flush(void);
+// CHECK-NEXT: -: 3:
+// CHECK-NEXT: -: 4:int bar1 = 0;
+// CHECK-NEXT: -: 5:int bar2 = 1;
+// CHECK-NEXT: -: 6:
+// CHECK-NEXT: -: 7:void bar(int n) {
+// CHECK-NEXT: 1: 8: if (n % 5 == 0)
+// CHECK-NEXT: 1: 9: bar1++;
+// CHECK-NEXT: -: 10: else
+// CHECK-NEXT: #####: 11: bar2++;
+// CHECK-NEXT: 1: 12:}
+// CHECK-NEXT: -: 13:
+// CHECK-NEXT: -: 14:int main(int argc, char *argv[]) {
+// CHECK-NEXT: -: 15:#ifdef SHARED_CALL_BEFORE_GCOV_FLUSH
+// CHECK-NEXT: 1: 16: foo(1);
+// CHECK-NEXT: -: 17:#endif
+// CHECK-NEXT: -: 18:
+// CHECK-NEXT: 1: 19: bar(5);
+// CHECK-NEXT: -: 20:
+// CHECK-NEXT: 1: 21: __gcov_flush();
+// CHECK-NEXT: -: 22:
+// CHECK-NEXT: 1: 23: bar(5);
+// CHECK-NEXT: -: 24:
+// CHECK-NEXT: -: 25:#ifdef SHARED_CALL_AFTER_GCOV_FLUSH
+// CHECK-NEXT: 1: 26: foo(1);
+// CHECK-NEXT: -: 27:#endif
+// CHECK-NEXT: -: 28:
+// CHECK-NEXT: -: 29:#ifdef EXIT_ABRUPTLY
+// CHECK-NEXT: 1: 30: _exit(0);
+// CHECK-NEXT: -: 31:#endif
+// CHECK-NEXT: -: 32:
+// CHECK-NEXT: -: 33: bar(5);
+// CHECK-NEXT: -: 34:
+// CHECK-NEXT: -: 35: return 0;
+// CHECK-NEXT: #####: 36:}