This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[3/6] nvptx testsuite patches: stdio


Some tests use stdio functions which are unavaiable with the cut-down newlib I'm using for ptx testing. I'm somewhat uncertain what to do with these; they are by no means the only unavailable library functions the testsuite tries to use (signal is another example). Here's a patch which deals with parts of the problem, but I wouldn't mind leaving this one out if it doesn't seem worthwhile.


Bernd

	gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_stdio): New
	function.
	* gcc.c-torture/execute/gofast.c (fail): Don't fprintf on nvptx.
	* gcc.dg/torture/matrix-1.c: Require stdio.
	* gcc.dg/torture/matrix-2.c: Require stdio.
	* gcc.dg/torture/matrix-5.c: Require stdio.
	* gcc.dg/torture/matrix-6.c: Require stdio.
	* gcc.dg/torture/transpose-1.c: Require stdio.
	* gcc.dg/torture/transpose-2.c: Require stdio.
	* gcc.dg/torture/transpose-3.c: Require stdio.
	* gcc.dg/torture/transpose-4.c: Require stdio.
	* gcc.dg/torture/transpose-5.c: Require stdio.
	* gcc.dg/torture/transpose-6.c: Require stdio.

------------------------------------------------------------------------
Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp.orig
+++ gcc/testsuite/lib/target-supports.exp
@@ -604,6 +606,15 @@ proc add_options_for_tls { flags } {
     return $flags
 }
 
+# Return 1 if the C library on this target has stdio support, 0 otherwise.
+
+proc check_effective_target_stdio {} {
+    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.
Index: gcc/testsuite/gcc.c-torture/execute/gofast.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/gofast.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/gofast.c
@@ -48,7 +48,9 @@ int
 fail (char *msg)
 {
   fail_count++;
+#ifndef __nvptx__
   fprintf (stderr, "Test failed: %s\n", msg);
+#endif
 }
 
 int
Index: gcc/testsuite/gcc.dg/torture/matrix-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/matrix-1.c.orig
+++ gcc/testsuite/gcc.dg/torture/matrix-1.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/matrix-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/matrix-2.c.orig
+++ gcc/testsuite/gcc.dg/torture/matrix-2.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
-
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/matrix-5.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/matrix-5.c.orig
+++ gcc/testsuite/gcc.dg/torture/matrix-5.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
-
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/matrix-6.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/matrix-6.c.orig
+++ gcc/testsuite/gcc.dg/torture/matrix-6.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
-
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/transpose-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/transpose-1.c.orig
+++ gcc/testsuite/gcc.dg/torture/transpose-1.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/transpose-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/transpose-2.c.orig
+++ gcc/testsuite/gcc.dg/torture/transpose-2.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/transpose-3.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/transpose-3.c.orig
+++ gcc/testsuite/gcc.dg/torture/transpose-3.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/transpose-4.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/transpose-4.c.orig
+++ gcc/testsuite/gcc.dg/torture/transpose-4.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/transpose-5.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/transpose-5.c.orig
+++ gcc/testsuite/gcc.dg/torture/transpose-5.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>
Index: gcc/testsuite/gcc.dg/torture/transpose-6.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/transpose-6.c.orig
+++ gcc/testsuite/gcc.dg/torture/transpose-6.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fwhole-program" } */
+/* { dg-require-effective-target stdio } */
 
 #include <stdio.h>
 #include <stdlib.h>

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]