aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-08-09 23:03:39 +0200
committerMartin Liska <marxin@gcc.gnu.org>2016-08-09 21:03:39 +0000
commitb7597ae57977ff3d4ff359141a471acf22001f92 (patch)
tree233f833b664d5e30ca1345399a7fe1337efc56c5 /gcc
parente0c8eebff7810f5ca52a884006c6bc681820144d (diff)
downloadgcc-b7597ae57977ff3d4ff359141a471acf22001f92.zip
gcc-b7597ae57977ff3d4ff359141a471acf22001f92.tar.gz
gcc-b7597ae57977ff3d4ff359141a471acf22001f92.tar.bz2
Add tests for __gcov_dump and __gcov_reset
* g++.dg/gcov/gcov-dump-1.C: New test. * g++.dg/gcov/gcov-dump-2.C: New test. From-SVN: r239308
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov-dump-1.C23
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov-dump-2.C32
3 files changed, 60 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 55ff081..f1465e8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2016-08-09 Martin Liska <mliska@suse.cz>
+ * g++.dg/gcov/gcov-dump-1.C: New test.
+ * g++.dg/gcov/gcov-dump-2.C: New test.
+
+2016-08-09 Martin Liska <mliska@suse.cz>
+
* gcc.dg/tree-prof/val-prof-9.c: New test.
2016-08-09 Martin Liska <mliska@suse.cz>
diff --git a/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C b/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C
new file mode 100644
index 0000000..f0e81e9
--- /dev/null
+++ b/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C
@@ -0,0 +1,23 @@
+/* { dg-options "-fprofile-generate -ftest-coverage -lgcov" } */
+/* { dg-do run { target native } } */
+
+int value;
+
+extern "C" { void __gcov_dump(void); }
+
+int main(int argc, char **argv)
+{
+ value = 123; /* count(1) */
+
+ for (unsigned i = 0; i < 100; i++)
+ value += argc; /* count(100) */
+
+ __gcov_dump();
+
+ for (unsigned i = 0; i < 1000; i++) /* count(#####) */
+ value += argc;
+
+ return 0; /* count(#####) */
+}
+
+/* { dg-final { run-gcov gcov-dump-1.C } } */
diff --git a/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C b/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C
new file mode 100644
index 0000000..6234a81
--- /dev/null
+++ b/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C
@@ -0,0 +1,32 @@
+/* { dg-options "-fprofile-generate -ftest-coverage -lgcov" } */
+/* { dg-do run { target native } } */
+
+int value;
+
+extern "C"
+{
+ void __gcov_dump(void);
+ void __gcov_reset(void);
+}
+
+int main(int argc, char **argv)
+{
+ value = 123; /* count(1) */
+
+ for (unsigned i = 0; i < 100; i++)
+ value += argc; /* count(100) */
+
+ __gcov_dump();
+
+ for (unsigned i = 0; i < 1000; i++) /* count(#####) */
+ value += argc;
+
+ __gcov_reset ();
+
+ for (unsigned i = 0; i < 10000; i++) /* count(10001) */
+ value += argc;
+
+ return 0; /* count(1) */
+}
+
+/* { dg-final { run-gcov gcov-dump-2.C } } */