diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2014-11-10 16:30:22 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2014-11-10 16:30:22 +0000 |
commit | c445c02a65800cc94f17a9bdbb34ba89bb0730e4 (patch) | |
tree | febc260ea8ccba063548abf9d8395e4a49b136c1 | |
parent | e2acc079ff125a869159be45371dc0a29b230e92 (diff) | |
download | gcc-c445c02a65800cc94f17a9bdbb34ba89bb0730e4.zip gcc-c445c02a65800cc94f17a9bdbb34ba89bb0730e4.tar.gz gcc-c445c02a65800cc94f17a9bdbb34ba89bb0730e4.tar.bz2 |
Testsuite untyped assembly fixes for ptx.
* lib/target-supports.exp
(check_effective_target_untyped_assembly): New function.
* gcc.c-torture/compile/20091215-1.c: Require untyped_assembly.
* gcc.c-torture/compile/920917-1.c: Likewise.
* gcc.c-torture/compile/930120-1.c: Likewise.
* gcc.c-torture/compile/930411-1.c: Likewise.
* gcc.c-torture/compile/930529-1.c: Likewise.
* gcc.c-torture/compile/930623-1.c: Likewise.
* gcc.c-torture/compile/950329-1.c: Likewise.
* gcc.c-torture/compile/calls.c: Likewise.
* gcc.c-torture/compile/pr37258.c: Likewise.
* gcc.c-torture/compile/pr37327.c: Likewise.
* gcc.c-torture/compile/pr38360.c: Likewise.
* gcc.c-torture/compile/pr43635.c: Likewise.
* gcc.c-torture/compile/pr47428.c: Likewise.
* gcc.c-torture/compile/pr47967.c: Likewise.
* gcc.c-torture/compile/pr49145.c: Likewise.
* gcc.c-torture/compile/pr51694.c: Likewise.
* gcc.c-torture/compile/pr53411.c: Likewise.
* gcc.c-torture/execute/20001101.c: Likewise.
* gcc.c-torture/execute/20051012-1.c: Likewise.
* gcc.c-torture/execute/920501-1.c: Likewise.
* gcc.c-torture/execute/921202-1.c: Likewise.
* gcc.c-torture/execute/921208-2.c: Likewise.
* gcc.c-torture/execute/call-trap-1.c: Likewise.
* gcc.c-torture/compile/20010525-1.c: Likewise.
* gcc.c-torture/compile/20021015-2.c: Likewise.
* gcc.c-torture/compile/20031023-1.c: Likewise.
* gcc.c-torture/compile/20031023-2.c: Likewise.
* gcc.c-torture/compile/pr49206.c: Likewise.
* gcc.c-torture/execute/pr47237.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise.
* gcc.dg/torture/stackalign/builtin-return-1.c: Likewise.
* gcc.dg/builtin-apply1.c: Likewise.
* gcc.dg/builtin-apply2.c: Likewise.
* gcc.dg/builtin-apply3.c: Likewise.
* gcc.dg/builtin-apply4.c: Likewise.
* gcc.dg/pr38338.c: Likewise.
* gcc.dg/torture/pr41993.c: Likewise.
* gcc.c-torture/compile/386.c: Likewise.
* gcc.c-torture/compile/cmpsi386.c: Likewise.
* gcc.c-torture/compile/consec.c: Likewise.
* gcc.c-torture/compile/ex.c: Likewise.
* gcc.c-torture/compile/pass.c: Likewise.
* gcc.c-torture/compile/scal.c: Likewise.
* gcc.c-torture/compile/uuarg.c: Likewise.
* gcc.c-torture/compile/conv_tst.c: Likewise.
From-SVN: r217297
53 files changed, 126 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1691987..8038759 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,56 @@ 2014-11-10 Bernd Schmidt <bernds@codesourcery.com> + * lib/target-supports.exp + (check_effective_target_untyped_assembly): New function. + * gcc.c-torture/compile/20091215-1.c: Require untyped_assembly. + * gcc.c-torture/compile/920917-1.c: Likewise. + * gcc.c-torture/compile/930120-1.c: Likewise. + * gcc.c-torture/compile/930411-1.c: Likewise. + * gcc.c-torture/compile/930529-1.c: Likewise. + * gcc.c-torture/compile/930623-1.c: Likewise. + * gcc.c-torture/compile/950329-1.c: Likewise. + * gcc.c-torture/compile/calls.c: Likewise. + * gcc.c-torture/compile/pr37258.c: Likewise. + * gcc.c-torture/compile/pr37327.c: Likewise. + * gcc.c-torture/compile/pr38360.c: Likewise. + * gcc.c-torture/compile/pr43635.c: Likewise. + * gcc.c-torture/compile/pr47428.c: Likewise. + * gcc.c-torture/compile/pr47967.c: Likewise. + * gcc.c-torture/compile/pr49145.c: Likewise. + * gcc.c-torture/compile/pr51694.c: Likewise. + * gcc.c-torture/compile/pr53411.c: Likewise. + * gcc.c-torture/execute/20001101.c: Likewise. + * gcc.c-torture/execute/20051012-1.c: Likewise. + * gcc.c-torture/execute/920501-1.c: Likewise. + * gcc.c-torture/execute/921202-1.c: Likewise. + * gcc.c-torture/execute/921208-2.c: Likewise. + * gcc.c-torture/execute/call-trap-1.c: Likewise. + * gcc.c-torture/compile/20010525-1.c: Likewise. + * gcc.c-torture/compile/20021015-2.c: Likewise. + * gcc.c-torture/compile/20031023-1.c: Likewise. + * gcc.c-torture/compile/20031023-2.c: Likewise. + * gcc.c-torture/compile/pr49206.c: Likewise. + * gcc.c-torture/execute/pr47237.c: Likewise. + * gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise. + * gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise. + * gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise. + * gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise. + * gcc.dg/torture/stackalign/builtin-return-1.c: Likewise. + * gcc.dg/builtin-apply1.c: Likewise. + * gcc.dg/builtin-apply2.c: Likewise. + * gcc.dg/builtin-apply3.c: Likewise. + * gcc.dg/builtin-apply4.c: Likewise. + * gcc.dg/pr38338.c: Likewise. + * gcc.dg/torture/pr41993.c: Likewise. + * gcc.c-torture/compile/386.c: Likewise. + * gcc.c-torture/compile/cmpsi386.c: Likewise. + * gcc.c-torture/compile/consec.c: Likewise. + * gcc.c-torture/compile/ex.c: Likewise. + * gcc.c-torture/compile/pass.c: Likewise. + * gcc.c-torture/compile/scal.c: Likewise. + * gcc.c-torture/compile/uuarg.c: Likewise. + * gcc.c-torture/compile/conv_tst.c: Likewise. + * lib/target-supports.exp (check_effective_target_alloca): New function. * gcc.c-torture/execute/20010209-1.c: Require alloca. * gcc.c-torture/execute/20020314-1.c: Likewise. diff --git a/gcc/testsuite/gcc.c-torture/compile/20010525-1.c b/gcc/testsuite/gcc.c-torture/compile/20010525-1.c index 2e4ae38..c020c94 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20010525-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20010525-1.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ static int kind_varread(char *str) { if (0 == memcmp("%_#", str, 3)) return 2; diff --git a/gcc/testsuite/gcc.c-torture/compile/20021015-2.c b/gcc/testsuite/gcc.c-torture/compile/20021015-2.c index 6b158c5..bd1a6aa 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20021015-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20021015-2.c @@ -1,4 +1,5 @@ /* PR target/8232. */ +/* { dg-require-effective-target untyped_assembly } */ int f (char *p, char *q, int i) { diff --git a/gcc/testsuite/gcc.c-torture/compile/20031023-1.c b/gcc/testsuite/gcc.c-torture/compile/20031023-1.c index 67f8ea9..be83776 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20031023-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20031023-1.c @@ -1,3 +1,5 @@ +/* Declaration of the frame size doesn't work on ptx. */ +/* { dg-require-effective-target untyped_assembly } */ #ifndef ASIZE # define ASIZE 0x10000000000UL #endif diff --git a/gcc/testsuite/gcc.c-torture/compile/20031023-2.c b/gcc/testsuite/gcc.c-torture/compile/20031023-2.c index 663e447..66d6645 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20031023-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20031023-2.c @@ -1,2 +1,4 @@ +/* Declaration of the frame size doesn't work on ptx. */ +/* { dg-require-effective-target untyped_assembly } */ #define ASIZE 0x1000000000UL #include "20031023-1.c" diff --git a/gcc/testsuite/gcc.c-torture/compile/20031023-3.c b/gcc/testsuite/gcc.c-torture/compile/20031023-3.c index f4a16c7..5859634 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20031023-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/20031023-3.c @@ -1,2 +1,4 @@ +/* Declaration of the frame size doesn't work on ptx. */ +/* { dg-require-effective-target untyped_assembly } */ #define ASIZE 0x100000000UL #include "20031023-1.c" diff --git a/gcc/testsuite/gcc.c-torture/compile/20091215-1.c b/gcc/testsuite/gcc.c-torture/compile/20091215-1.c index 7862e2f..1df5098 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20091215-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20091215-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target untyped_assembly } */ + void bar (); void diff --git a/gcc/testsuite/gcc.c-torture/compile/386.c b/gcc/testsuite/gcc.c-torture/compile/386.c index 432cdad..81fcea5 100644 --- a/gcc/testsuite/gcc.c-torture/compile/386.c +++ b/gcc/testsuite/gcc.c-torture/compile/386.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ foo (a, p) int *p; { diff --git a/gcc/testsuite/gcc.c-torture/compile/920917-1.c b/gcc/testsuite/gcc.c-torture/compile/920917-1.c index ebe8200..139f60e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920917-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/920917-1.c @@ -1,2 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ + inline f(x){switch(x){case 6:case 4:case 3:case 1:;}return x;} g(){f(sizeof("xxxxxx"));} diff --git a/gcc/testsuite/gcc.c-torture/compile/930120-1.c b/gcc/testsuite/gcc.c-torture/compile/930120-1.c index 95ac43c..a1d8df8 100644 --- a/gcc/testsuite/gcc.c-torture/compile/930120-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/930120-1.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ union { short I[2]; long int L; diff --git a/gcc/testsuite/gcc.c-torture/compile/930411-1.c b/gcc/testsuite/gcc.c-torture/compile/930411-1.c index bb03c13..6dd87ee 100644 --- a/gcc/testsuite/gcc.c-torture/compile/930411-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/930411-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target untyped_assembly } */ + int heap; g(){} diff --git a/gcc/testsuite/gcc.c-torture/compile/930529-1.c b/gcc/testsuite/gcc.c-torture/compile/930529-1.c index 70b2cb8..8ad358d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/930529-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/930529-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target untyped_assembly } */ + struct r { int d1, d2; diff --git a/gcc/testsuite/gcc.c-torture/compile/930623-1.c b/gcc/testsuite/gcc.c-torture/compile/930623-1.c index 4b5b90b..022ad01 100644 --- a/gcc/testsuite/gcc.c-torture/compile/930623-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/930623-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target untyped_assembly } */ + g (a, b) {} f (xx) diff --git a/gcc/testsuite/gcc.c-torture/compile/950329-1.c b/gcc/testsuite/gcc.c-torture/compile/950329-1.c index 7c047f5..63ec6b2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/950329-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/950329-1.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ f () { int i; diff --git a/gcc/testsuite/gcc.c-torture/compile/call.c b/gcc/testsuite/gcc.c-torture/compile/call.c index c810603..265193d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/call.c +++ b/gcc/testsuite/gcc.c-torture/compile/call.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "requires untyped assembly" { ! untyped_assembly } { "-O0" } { "" } } */ + int foo () {} main (a, b) diff --git a/gcc/testsuite/gcc.c-torture/compile/calls-void.c b/gcc/testsuite/gcc.c-torture/compile/calls-void.c index a8dacd7..eeed4fd 100644 --- a/gcc/testsuite/gcc.c-torture/compile/calls-void.c +++ b/gcc/testsuite/gcc.c-torture/compile/calls-void.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target ptr32plus } */ +/* { dg-require-effective-target untyped_assembly } */ + typedef void (*T)(void); f1 () { diff --git a/gcc/testsuite/gcc.c-torture/compile/calls.c b/gcc/testsuite/gcc.c-torture/compile/calls.c index 1241058..ca07122a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/calls.c +++ b/gcc/testsuite/gcc.c-torture/compile/calls.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target ptr32plus } */ +/* { dg-require-effective-target untyped_assembly } */ + typedef void *(*T)(void); f1 () { diff --git a/gcc/testsuite/gcc.c-torture/compile/cmpsi386.c b/gcc/testsuite/gcc.c-torture/compile/cmpsi386.c index 50b08d7..c98b862 100644 --- a/gcc/testsuite/gcc.c-torture/compile/cmpsi386.c +++ b/gcc/testsuite/gcc.c-torture/compile/cmpsi386.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ foo (a, p) register int a; int *p; diff --git a/gcc/testsuite/gcc.c-torture/compile/consec.c b/gcc/testsuite/gcc.c-torture/compile/consec.c index fd76cd2..01fa25b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/consec.c +++ b/gcc/testsuite/gcc.c-torture/compile/consec.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ int glob; conseq (a, b, c, d) diff --git a/gcc/testsuite/gcc.c-torture/compile/conv_tst.c b/gcc/testsuite/gcc.c-torture/compile/conv_tst.c index 513d6a2..28be666 100644 --- a/gcc/testsuite/gcc.c-torture/compile/conv_tst.c +++ b/gcc/testsuite/gcc.c-torture/compile/conv_tst.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target untyped_assembly } */ + #define ID_1 2400000000.0 #define ID_2 1.7 #define ID_3 -1.7 diff --git a/gcc/testsuite/gcc.c-torture/compile/ex.c b/gcc/testsuite/gcc.c-torture/compile/ex.c index f5d90fd..3753815 100644 --- a/gcc/testsuite/gcc.c-torture/compile/ex.c +++ b/gcc/testsuite/gcc.c-torture/compile/ex.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target untyped_assembly } */ + foo (a, b) { if ((a & (1 << b)) == 0) diff --git a/gcc/testsuite/gcc.c-torture/compile/pass.c b/gcc/testsuite/gcc.c-torture/compile/pass.c index 6b66382..4e02839 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pass.c +++ b/gcc/testsuite/gcc.c-torture/compile/pass.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ int foo (a, b, c) { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37258.c b/gcc/testsuite/gcc.c-torture/compile/pr37258.c index 5091d98..286f2fc 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37258.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37258.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37327.c b/gcc/testsuite/gcc.c-torture/compile/pr37327.c index 7041d83..79946b7 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37327.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37327.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr38360.c b/gcc/testsuite/gcc.c-torture/compile/pr38360.c index 463218d..4c67b00 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr38360.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr38360.c @@ -1,4 +1,5 @@ /* PR middle-end/38360 */ +/* { dg-require-effective-target untyped_assembly } */ int main () diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43635.c b/gcc/testsuite/gcc.c-torture/compile/pr43635.c index 4039fa7..df826b6 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr43635.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr43635.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ extern void d (void); void (*foo (void)) (float) diff --git a/gcc/testsuite/gcc.c-torture/compile/pr47428.c b/gcc/testsuite/gcc.c-torture/compile/pr47428.c index 0c4ccc9..3cd7bfd 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr47428.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr47428.c @@ -1,4 +1,5 @@ /* PR tree-optimization/47428 */ +/* { dg-require-effective-target untyped_assembly } */ struct S { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr47967.c b/gcc/testsuite/gcc.c-torture/compile/pr47967.c index cc2c213..fe1f9c2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr47967.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr47967.c @@ -1,4 +1,5 @@ /* PR tree-optimization/47967 */ +/* { dg-require-effective-target untyped_assembly } */ extern void abort (void); static void bar (); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr49145.c b/gcc/testsuite/gcc.c-torture/compile/pr49145.c index 079fc88..b44e197 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr49145.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr49145.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ static int func1 (int a, int b) { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr49206.c b/gcc/testsuite/gcc.c-torture/compile/pr49206.c index 1df23c9..7596f6a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr49206.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr49206.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ struct S1 { short f0; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr51694.c b/gcc/testsuite/gcc.c-torture/compile/pr51694.c index 579a243..f5c1a40 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr51694.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr51694.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ void foo (x, fn) void (*fn) (); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr53411.c b/gcc/testsuite/gcc.c-torture/compile/pr53411.c index e88ecbc..5a41502 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr53411.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr53411.c @@ -1,4 +1,5 @@ /* PR middle-end/53411 */ +/* { dg-require-effective-target untyped_assembly } */ int a, b, c, d, e, f, g, h; void fn1 (void); diff --git a/gcc/testsuite/gcc.c-torture/compile/scal.c b/gcc/testsuite/gcc.c-torture/compile/scal.c index 94e22aa..a2fb3e8 100644 --- a/gcc/testsuite/gcc.c-torture/compile/scal.c +++ b/gcc/testsuite/gcc.c-torture/compile/scal.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ int g1, g2; void diff --git a/gcc/testsuite/gcc.c-torture/compile/uuarg.c b/gcc/testsuite/gcc.c-torture/compile/uuarg.c index 8928b3e..930dd8a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/uuarg.c +++ b/gcc/testsuite/gcc.c-torture/compile/uuarg.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ foo (a, b, c, d, e, f, g, h, i) { return foo () + i; diff --git a/gcc/testsuite/gcc.c-torture/execute/20001101.c b/gcc/testsuite/gcc.c-torture/execute/20001101.c index 930ee32..475211e 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20001101.c +++ b/gcc/testsuite/gcc.c-torture/execute/20001101.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ extern void abort(void); typedef struct diff --git a/gcc/testsuite/gcc.c-torture/execute/20051012-1.c b/gcc/testsuite/gcc.c-torture/execute/20051012-1.c index f12f429..d43aeda 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20051012-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/20051012-1.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ extern void abort (void); struct type diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-1.c b/gcc/testsuite/gcc.c-torture/execute/920501-1.c index 6f757ca..a057943 100644 --- a/gcc/testsuite/gcc.c-torture/execute/920501-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/920501-1.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ int s[2]; x(){if(!s[0]){s[1+s[1]]=s[1];return 1;}} main(){s[0]=s[1]=0;if(x(0)!=1)abort();exit(0);} diff --git a/gcc/testsuite/gcc.c-torture/execute/921202-1.c b/gcc/testsuite/gcc.c-torture/execute/921202-1.c index d14425a..935975d 100644 --- a/gcc/testsuite/gcc.c-torture/execute/921202-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/921202-1.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ #ifndef STACK_SIZE #define VLEN 2055 #else diff --git a/gcc/testsuite/gcc.c-torture/execute/921208-2.c b/gcc/testsuite/gcc.c-torture/execute/921208-2.c index d5edcf9..f01b572 100644 --- a/gcc/testsuite/gcc.c-torture/execute/921208-2.c +++ b/gcc/testsuite/gcc.c-torture/execute/921208-2.c @@ -1,3 +1,4 @@ +/* { dg-require-effective-target untyped_assembly } */ #define STACK_REQUIREMENT (100000 * 4 + 1024) #if defined (STACK_SIZE) && STACK_SIZE < STACK_REQUIREMENT main () { exit (0); } diff --git a/gcc/testsuite/gcc.c-torture/execute/call-trap-1.c b/gcc/testsuite/gcc.c-torture/execute/call-trap-1.c index aa226e7..c1aa90d 100644 --- a/gcc/testsuite/gcc.c-torture/execute/call-trap-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/call-trap-1.c @@ -2,6 +2,7 @@ type does not appear until after the function designator and arguments have been evaluated. PR 38483. */ /* Origin: Joseph Myers <joseph@codesourcery.com> */ +/* { dg-require-effective-target untyped_assembly } */ extern void exit (int); extern void abort (void); diff --git a/gcc/testsuite/gcc.c-torture/execute/pr47237.c b/gcc/testsuite/gcc.c-torture/execute/pr47237.c index 470c8ee..0802531 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr47237.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr47237.c @@ -1,4 +1,5 @@ /* { dg-xfail-if "can cause stack underflow" { nios2-*-* } "*" "" } */ +/* { dg-require-effective-target untyped_assembly } */ #define INTEGER_ARG 5 extern void abort(void); diff --git a/gcc/testsuite/gcc.dg/builtin-apply1.c b/gcc/testsuite/gcc.dg/builtin-apply1.c index 38b384e..7079ce3 100644 --- a/gcc/testsuite/gcc.dg/builtin-apply1.c +++ b/gcc/testsuite/gcc.dg/builtin-apply1.c @@ -1,5 +1,6 @@ /* PR 11184 */ /* Origin: Dara Hazeghi <dhazeghi@yahoo.com> */ +/* { dg-require-effective-target untyped_assembly } */ void * objc_msg_sendv (char * arg_frame, void (*foo)()) diff --git a/gcc/testsuite/gcc.dg/builtin-apply2.c b/gcc/testsuite/gcc.dg/builtin-apply2.c index 3ae2adc..d666fcc 100644 --- a/gcc/testsuite/gcc.dg/builtin-apply2.c +++ b/gcc/testsuite/gcc.dg/builtin-apply2.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target untyped_assembly } */ /* { dg-skip-if "Variadic funcs have all args on stack. Normal funcs have args in registers." { "aarch64*-*-* avr-*-* nds32*-*-*" } { "*" } { "" } } */ /* { dg-skip-if "Variadic funcs use Base AAPCS. Normal funcs use VFP variant." { arm*-*-* && arm_hf_eabi } { "*" } { "" } } */ diff --git a/gcc/testsuite/gcc.dg/builtin-apply3.c b/gcc/testsuite/gcc.dg/builtin-apply3.c index 1335d09..37c5209 100644 --- a/gcc/testsuite/gcc.dg/builtin-apply3.c +++ b/gcc/testsuite/gcc.dg/builtin-apply3.c @@ -5,6 +5,7 @@ to the right location by __builtin_apply after the direct call. */ /* { dg-do run } */ +/* { dg-require-effective-target untyped_assembly } */ #define INTEGER_ARG 5 diff --git a/gcc/testsuite/gcc.dg/builtin-apply4.c b/gcc/testsuite/gcc.dg/builtin-apply4.c index b548df3..cca9187 100644 --- a/gcc/testsuite/gcc.dg/builtin-apply4.c +++ b/gcc/testsuite/gcc.dg/builtin-apply4.c @@ -2,6 +2,7 @@ /* { dg-options "-O2 -Wmissing-noreturn -fgnu89-inline" } */ /* { dg-additional-options "-mno-mmx" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ /* { dg-do run } */ +/* { dg-require-effective-target untyped_assembly } */ extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/pr38338.c b/gcc/testsuite/gcc.dg/pr38338.c index e8fcc3c..5dfd443 100644 --- a/gcc/testsuite/gcc.dg/pr38338.c +++ b/gcc/testsuite/gcc.dg/pr38338.c @@ -1,6 +1,7 @@ /* PR middle-end/38338 */ /* { dg-options "-O0" } */ /* { dg-options "-O0 -fPIC" { target fpic } } */ +/* { dg-require-effective-target untyped_assembly } */ typedef void (*fnp) (void); diff --git a/gcc/testsuite/gcc.dg/torture/pr41993.c b/gcc/testsuite/gcc.dg/torture/pr41993.c index 890e365..05ba4b1 100644 --- a/gcc/testsuite/gcc.dg/torture/pr41993.c +++ b/gcc/testsuite/gcc.dg/torture/pr41993.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-mavx -mvzeroupper" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target untyped_assembly } */ short retframe_short (void *rframe) { diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-1.c index 38b384e..7079ce3 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-1.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-1.c @@ -1,5 +1,6 @@ /* PR 11184 */ /* Origin: Dara Hazeghi <dhazeghi@yahoo.com> */ +/* { dg-require-effective-target untyped_assembly } */ void * objc_msg_sendv (char * arg_frame, void (*foo)()) diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c index 8eba13a..ffd865b 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c @@ -11,6 +11,7 @@ do. */ /* { dg-skip-if "Variadic funcs use different argument passing from normal funcs" { arm_hf_eabi || { avr-*-* } } "*" "" } */ /* { dg-skip-if "Variadic funcs have all args on stack. Normal funcs have args in registers." { nds32*-*-* } "*" "" } */ +/* { dg-require-effective-target untyped_assembly } */ #define INTEGER_ARG 5 diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c index 1335d09..37c5209 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c @@ -5,6 +5,7 @@ to the right location by __builtin_apply after the direct call. */ /* { dg-do run } */ +/* { dg-require-effective-target untyped_assembly } */ #define INTEGER_ARG 5 diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c index 4bf5c1e..78b1032 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c @@ -1,6 +1,7 @@ /* PR tree-optimization/20076 */ /* { dg-do run } */ /* { dg-additional-options "-fgnu89-inline" } */ +/* { dg-require-effective-target untyped_assembly } */ extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c index e6213da..af01753 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c @@ -1,6 +1,7 @@ /* PR middle-end/11151 */ /* Originator: Andrew Church <gcczilla@achurch.org> */ /* { dg-do run } */ +/* { dg-require-effective-target untyped_assembly } */ /* This used to fail on SPARC because the (undefined) return value of 'bar' was overwriting that of 'foo'. */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index b6e2dde..a395f5f 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -599,6 +599,17 @@ proc add_options_for_tls { flags } { return $flags } +# 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. + +proc check_effective_target_untyped_assembly {} { + if { [istarget nvptx-*-*] } { + return 0 + } + return 1 +} + # Return 1 if alloca is supported, 0 otherwise. proc check_effective_target_alloca {} { |