diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2014-11-10 16:31:10 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2014-11-10 16:31:10 +0000 |
commit | 02ff56e68a381d449723b6d4c19189a08bb66484 (patch) | |
tree | 10e56a588cc1f39d5360f7359da890d40f846213 /gcc | |
parent | 5ea6b1bdc19b9a326d95f8f2c0f85dbc4d81e62d (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr35468.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20010122-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20030323-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20030811-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/eeprof-1.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/frame-address.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/pr17377.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 10 |
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. |