aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2014-11-10 16:31:10 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2014-11-10 16:31:10 +0000
commit02ff56e68a381d449723b6d4c19189a08bb66484 (patch)
tree10e56a588cc1f39d5360f7359da890d40f846213 /gcc
parent5ea6b1bdc19b9a326d95f8f2c0f85dbc4d81e62d (diff)
downloadgcc-02ff56e68a381d449723b6d4c19189a08bb66484.zip
gcc-02ff56e68a381d449723b6d4c19189a08bb66484.tar.gz
gcc-02ff56e68a381d449723b6d4c19189a08bb66484.tar.bz2
ptx testsuite fix for return addresses.
* lib/target-supports.exp (check_effective_target_return_address): New function. * gcc.c-torture/execute/20010122-1.c: Require return_address. * gcc.c-torture/execute/20030323-1.c: Likewise. * gcc.c-torture/execute/20030811-1.c: Likewise. * gcc.c-torture/execute/eeprof-1.c: Likewise. * gcc.c-torture/execute/frame-address.c: Likewise. * gcc.c-torture/execute/pr17377.c: Likewise. From-SVN: r217301
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr35468.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20010122-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030323-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030811-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/eeprof-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/frame-address.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr17377.c1
-rw-r--r--gcc/testsuite/lib/target-supports.exp10
9 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2da1b6f..3af1a43 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,14 @@
2014-11-10 Bernd Schmidt <bernds@codesourcery.com>
+ * lib/target-supports.exp (check_effective_target_return_address):
+ New function.
+ * gcc.c-torture/execute/20010122-1.c: Require return_address.
+ * gcc.c-torture/execute/20030323-1.c: Likewise.
+ * gcc.c-torture/execute/20030811-1.c: Likewise.
+ * gcc.c-torture/execute/eeprof-1.c: Likewise.
+ * gcc.c-torture/execute/frame-address.c: Likewise.
+ * gcc.c-torture/execute/pr17377.c: Likewise.
+
* gcc.c-torture/compile/920625-2.c: Add return type to
freeReturnStruct.
* gcc.c-torture/execute/20091229-1.c: Declare main properly.
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr35468.c b/gcc/testsuite/gcc.c-torture/compile/pr35468.c
index 16d064b..0fa017f 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr35468.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr35468.c
@@ -1,4 +1,5 @@
/* PR tree-optimization/35468 */
+/* { dg-require-effective-target no_const_addr_space } */
void
foo (void)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010122-1.c b/gcc/testsuite/gcc.c-torture/execute/20010122-1.c
index 14269fa..528cef7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010122-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010122-1.c
@@ -1,4 +1,5 @@
/* { dg-skip-if "requires frame pointers" { *-*-* } "-fomit-frame-pointer" "" } */
+/* { dg-require-effective-target return_address } */
extern void exit (int);
extern void abort (void);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030323-1.c b/gcc/testsuite/gcc.c-torture/execute/20030323-1.c
index 35e2bd1..bace9a2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030323-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030323-1.c
@@ -1,4 +1,5 @@
/* PR opt/10116 */
+/* { dg-require-effective-target return_address } */
/* Removed tablejump while label still in use; this is really a link test. */
void *NSReturnAddress(int offset)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030811-1.c b/gcc/testsuite/gcc.c-torture/execute/20030811-1.c
index 2ac59c0..29cfa15 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030811-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030811-1.c
@@ -1,4 +1,5 @@
/* Origin: PR target/11535 from H. J. Lu <hjl@lucon.org> */
+/* { dg-require-effective-target return_address } */
void vararg (int i, ...)
{
diff --git a/gcc/testsuite/gcc.c-torture/execute/eeprof-1.c b/gcc/testsuite/gcc.c-torture/execute/eeprof-1.c
index 96dab9a..c2a9ff6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/eeprof-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/eeprof-1.c
@@ -1,3 +1,4 @@
+/* { dg-require-effective-target return_address } */
/* { dg-options "-finstrument-functions" } */
/* { dg-xfail-if "" { powerpc-ibm-aix* } "*" "" } */
diff --git a/gcc/testsuite/gcc.c-torture/execute/frame-address.c b/gcc/testsuite/gcc.c-torture/execute/frame-address.c
index 109c2b2..e453f88 100644
--- a/gcc/testsuite/gcc.c-torture/execute/frame-address.c
+++ b/gcc/testsuite/gcc.c-torture/execute/frame-address.c
@@ -1,3 +1,4 @@
+/* { dg-require-effective-target return_address } */
int check_fa_work (const char *, const char *) __attribute__((noinline));
int check_fa_mid (const char *) __attribute__((noinline));
int check_fa (char *) __attribute__((noinline));
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr17377.c b/gcc/testsuite/gcc.c-torture/execute/pr17377.c
index 87d23c5..11094d1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr17377.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr17377.c
@@ -1,6 +1,7 @@
/* PR target/17377
Bug in code emitted by "return" pattern on CRIS: missing pop of
forced return address on stack. */
+/* { dg-require-effective-target return_address } */
int calls = 0;
void *f (int) __attribute__ ((__noinline__));
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 123f074..a31d050 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -632,6 +632,16 @@ proc check_effective_target_label_values {} {
}]
}
+# Return 1 if builtin_return_address and builtin_frame_address are
+# supported, 0 otherwise.
+
+proc check_effective_target_return_address {} {
+ if { [istarget nvptx-*-*] } {
+ return 0
+ }
+ return 1
+}
+
# Return 1 if the assembler does not verify function types against
# calls, 0 otherwise. Such verification will typically show up problems
# with K&R C function declarations.