aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2014-11-10 16:30:22 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2014-11-10 16:30:22 +0000
commitc445c02a65800cc94f17a9bdbb34ba89bb0730e4 (patch)
treefebc260ea8ccba063548abf9d8395e4a49b136c1
parente2acc079ff125a869159be45371dc0a29b230e92 (diff)
downloadgcc-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
-rw-r--r--gcc/testsuite/ChangeLog51
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20010525-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20021015-2.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20031023-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20031023-2.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20031023-3.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20091215-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/386.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920917-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930120-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930411-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930529-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930623-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950329-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/call.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/calls-void.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/calls.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/cmpsi386.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/consec.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/conv_tst.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/ex.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pass.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr37258.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr37327.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr38360.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr43635.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr47428.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr47967.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr49145.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr49206.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr51694.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr53411.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/scal.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/uuarg.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20001101.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20051012-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921202-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921208-2.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/call-trap-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr47237.c1
-rw-r--r--gcc/testsuite/gcc.dg/builtin-apply1.c1
-rw-r--r--gcc/testsuite/gcc.dg/builtin-apply2.c1
-rw-r--r--gcc/testsuite/gcc.dg/builtin-apply3.c1
-rw-r--r--gcc/testsuite/gcc.dg/builtin-apply4.c1
-rw-r--r--gcc/testsuite/gcc.dg/pr38338.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr41993.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c1
-rw-r--r--gcc/testsuite/lib/target-supports.exp11
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 {} {