aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2014-09-16 03:22:53 +0000
committerAndi Kleen <ak@gcc.gnu.org>2014-09-16 03:22:53 +0000
commita86507b29ec2520c70b12c84f4e6c1098f1a3fc0 (patch)
treef2dbfc6ef73f8b4aa581a25b6cd5dafefeceeb19 /gcc
parent0b37ba8a60c70a212e1f663ddcb3bbf8b2468d6b (diff)
downloadgcc-a86507b29ec2520c70b12c84f4e6c1098f1a3fc0.zip
gcc-a86507b29ec2520c70b12c84f4e6c1098f1a3fc0.tar.gz
gcc-a86507b29ec2520c70b12c84f4e6c1098f1a3fc0.tar.bz2
Add some more test cases for fentry and pg
Test fentry and no_instrument_function overriding. gcc/testsuite/: 2014-09-15 Andi Kleen <ak@linux.intel.com> * gcc.dg/pg-override.c: New test. * gcc.dg/pg.c: New test. * gcc.target/i386/fentry-override.c: New test. * gcc.target/i386/fentry.c: New test. From-SVN: r215285
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/pg-override.c18
-rw-r--r--gcc/testsuite/gcc.dg/pg.c18
-rw-r--r--gcc/testsuite/gcc.target/i386/fentry-override.c18
-rw-r--r--gcc/testsuite/gcc.target/i386/fentry.c18
5 files changed, 79 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 45e2384..fdb706a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2014-09-15 Andi Kleen <ak@linux.intel.com>
+
+ * gcc.dg/pg-override.c: New test.
+ * gcc.dg/pg.c: New test.
+ * gcc.target/i386/fentry-override.c: New test.
+ * gcc.target/i386/fentry.c: New test.
+
2014-09-15 Jakub Jelinek <jakub@redhat.com>
PR fortran/56408
diff --git a/gcc/testsuite/gcc.dg/pg-override.c b/gcc/testsuite/gcc.dg/pg-override.c
new file mode 100644
index 0000000..1490c1d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pg-override.c
@@ -0,0 +1,18 @@
+/* Test -fprofile override */
+/* { dg-do compile } */
+/* { dg-options "-fprofile" { target { { i686-*-* x86_64-*-* } } } } */
+/* { dg-final { scan-assembler-not "mcount" } } */
+/* Origin: Andi Kleen */
+extern void foobar(const char *);
+
+__attribute__((no_instrument_function)) void func(void)
+{
+ foobar ("Hello world\n");
+}
+
+__attribute__((no_instrument_function)) void func2(void)
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ foobar ("Hello world");
+}
diff --git a/gcc/testsuite/gcc.dg/pg.c b/gcc/testsuite/gcc.dg/pg.c
new file mode 100644
index 0000000..1490c1d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pg.c
@@ -0,0 +1,18 @@
+/* Test -fprofile override */
+/* { dg-do compile } */
+/* { dg-options "-fprofile" { target { { i686-*-* x86_64-*-* } } } } */
+/* { dg-final { scan-assembler-not "mcount" } } */
+/* Origin: Andi Kleen */
+extern void foobar(const char *);
+
+__attribute__((no_instrument_function)) void func(void)
+{
+ foobar ("Hello world\n");
+}
+
+__attribute__((no_instrument_function)) void func2(void)
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ foobar ("Hello world");
+}
diff --git a/gcc/testsuite/gcc.target/i386/fentry-override.c b/gcc/testsuite/gcc.target/i386/fentry-override.c
new file mode 100644
index 0000000..3771f19
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/fentry-override.c
@@ -0,0 +1,18 @@
+/* Test -mfentry override */
+/* { dg-do compile } */
+/* { dg-options "-mfentry" } */
+/* { dg-final { scan-assembler-not "__fentry__" } } */
+/* Origin: Andi Kleen */
+extern void foobar(const char *);
+
+void __attribute__((no_instrument_function)) func(void)
+{
+ foobar ("Hello world\n");
+}
+
+void __attribute__((no_instrument_function)) func2(void)
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ foobar ("Hello world");
+}
diff --git a/gcc/testsuite/gcc.target/i386/fentry.c b/gcc/testsuite/gcc.target/i386/fentry.c
new file mode 100644
index 0000000..bd3db13
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/fentry.c
@@ -0,0 +1,18 @@
+/* Test -mfentry */
+/* { dg-do compile } */
+/* { dg-options "-fprofile -mfentry" } */
+/* { dg-final { scan-assembler "__fentry__" } } */
+/* Origin: Andi Kleen */
+extern void foobar(const char *);
+
+void func(void)
+{
+ foobar ("Hello world\n");
+}
+
+void func2(void)
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ foobar ("Hello world");
+}