Some things don't fit into nice categories that apply to a larger set of tests, or which are somewhat random like ptxas tool failures. For these I've added xfails and skips.

Bernd
	gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_trampolines,
	check_profiling_available, check_effective_target_lto,
	check_effective_target_vect_natural): False for nvptx-*-*.
	* gcc.c-torture/compile/limits-fndefn.c: Skip for nvptx-*-*.
	* gcc.c-torture/compile/pr34334.c: Likewise.
	* gcc.c-torture/compile/pr37056.c: Likewise.
	* gcc.c-torture/compile/pr39423-1.c: Likewise.
	* gcc.c-torture/compile/pr46534.c: Likewise.
	* gcc.c-torture/compile/pr49049.c: Likewise.
	* gcc.c-torture/compile/pr59417.c: Likewise.
	* gcc.c-torture/compile/20080721-1.c: Likewise.
	* gcc.c-torture/compile/920501-4.c: Likewise.
	* gcc.c-torture/compile/921011-1.c: Likewise.	
	* gcc.dg/20040813-1.c: Likewise.
	* gcc.dg/pr28755.c: Likewise.
	* gcc.dg/pr44194-1.c: Likewise.
	* gcc.c-torture/compile/pr42717.c: Xfail for nvptx-*-*.
	* gcc.c-torture/compile/pr61684.c: Likewise.
	* gcc.c-torture/compile/pr20601-1.c: Likewise.
	* gcc.c-torture/compile/pr59221.c: Likewise.
	* gcc.c-torture/compile/20060208-1.c: Likewise.
	* gcc.c-torture/execute/pr52129.c: Likewise.
	* gcc.c-torture/execute/20020310-1.c: Likewise.
	* gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for nvptx.
	* gcc.c-torture/execute20020312-2.c: Add case for for nvptx.
	* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections
	for nvptx-*-*.
	* gcc.dg/pr36400.c: Xfail scan-assembler test on nvptx-*-*.
	* gcc.dg/const-elim-2.c: Likewise.

------------------------------------------------------------------------
Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp.orig
+++ gcc/testsuite/lib/target-supports.exp
@@ -436,6 +436,7 @@ proc check_effective_target_trampolines
     }
     if { [istarget avr-*-*]
 	 || [istarget msp430-*-*]
+	 || [istarget nvptx-*-*]
 	 || [istarget hppa2.0w-hp-hpux11.23]
 	 || [istarget hppa64-hp-hpux11.23] } {
 	return 0;
@@ -532,6 +533,7 @@ proc check_profiling_available { test_wh
 	     || [istarget msp430-*-*]
 	     || [istarget nds32*-*-elf]
 	     || [istarget nios2-*-elf]
+	     || [istarget nvptx-*-*]
 	     || [istarget powerpc-*-eabi*]
 	     || [istarget powerpc-*-elf]
 	     || [istarget rx-*-*]	
@@ -4216,7 +4218,8 @@ proc check_effective_target_vect_natural
         verbose "check_effective_target_vect_natural_alignment: using cached result" 2
     } else {
         set et_vect_natural_alignment_saved 1
-        if { [check_effective_target_arm_eabi] } {
+        if { [check_effective_target_arm_eabi]
+	     || [istarget nvptx-*-*] } {
             set et_vect_natural_alignment_saved 0
         }
     }
@@ -5691,6 +5694,9 @@ proc check_effective_target_gld { } {
 
 proc check_effective_target_lto { } {
     global ENABLE_LTO
+    if { [istarget nvptx-*-*] } {
+	return 0;
+    }
     return [info exists ENABLE_LTO]
 }
 
Index: gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c
@@ -1,4 +1,5 @@
 /* { dg-skip-if "too complex for avr" { avr-*-* } { "*" } { "" } } */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "*" } { "" } } */
 /* { dg-timeout-factor 4.0 } */
 #define LIM1(x) x##0, x##1, x##2, x##3, x##4, x##5, x##6, x##7, x##8, x##9,
 #define LIM2(x) LIM1(x##0) LIM1(x##1) LIM1(x##2) LIM1(x##3) LIM1(x##4) \
Index: gcc/testsuite/gcc.c-torture/compile/pr60655-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr60655-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr60655-1.c
@@ -1,4 +1,4 @@
-/* { dg-options "-fdata-sections" { target { ! { { hppa*-*-hpux* } && { ! lp64 } } } } } */
+/* { dg-options "-fdata-sections" { target { { ! { { hppa*-*-hpux* } && { ! lp64 } } } && { ! nvptx-*-* } } } } */
 
 typedef unsigned char unit;
 typedef unit *unitptr;
Index: gcc/testsuite/gcc.c-torture/compile/pr34334.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr34334.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr34334.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "*" } { "-O0" } } */
 __extension__ typedef __SIZE_TYPE__ size_t;
 __extension__ typedef long long int __quad_t;
 __extension__ typedef unsigned int __mode_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr37056.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr37056.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr37056.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" "-Os" } { "" } } */
 extern void abort (void);
 
 static union {
Index: gcc/testsuite/gcc.c-torture/compile/pr39423-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39423-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr39423-1.c
@@ -1,4 +1,5 @@
 /* PR target/39423 */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" } { "" } } */
 
 int
 foo (const char *name, int nmlen, char *flags)
Index: gcc/testsuite/gcc.c-torture/compile/pr42717.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr42717.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr42717.c
@@ -1,3 +1,4 @@
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O0" } { "" } } */
 static signed char
 foo (signed char si1, unsigned char si2)
 {
Index: gcc/testsuite/gcc.c-torture/compile/pr46534.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr46534.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr46534.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "too big" { avr-*-* pdp11-*-* } { "*" } { "" } } */
+/* { dg-skip-if "too big" { avr-*-* nvptx-*-* pdp11-*-* } { "*" } { "" } } */
 /* PR middle-end/46534 */
 
 extern int printf (const char *, ...);
Index: gcc/testsuite/gcc.c-torture/compile/pr49049.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr49049.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr49049.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-Os" } { "" } } */
+
 __extension__ typedef unsigned long long int uint64_t;
 
 static int
Index: gcc/testsuite/gcc.c-torture/compile/pr59417.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr59417.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr59417.c
@@ -1,4 +1,5 @@
 /* PR tree-optimization/59417 */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" "-O2" "-Os" } { "" } } */
 
 int a, b, d;
 short c;
Index: gcc/testsuite/gcc.c-torture/compile/pr61684.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr61684.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr61684.c
@@ -1,4 +1,5 @@
 /* PR tree-optimization/61684 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "*" } { "-O0" "-O1" "-Os" } } */
 
 int a, c;
 static int *b = 0;
Index: gcc/testsuite/gcc.c-torture/execute/pr20601-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr20601-1.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/pr20601-1.c
@@ -1,4 +1,5 @@
 /* PR tree-optimization/20601 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O1" } { "" } } */
 extern void abort (void);
 extern void exit (int);
 
Index: gcc/testsuite/gcc.c-torture/execute/pr59221.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr59221.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/pr59221.c
@@ -1,3 +1,4 @@
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "*" } { "-O0" "-Os" } } */
 
 
 int a = 1, b, d;
Index: gcc/testsuite/gcc.c-torture/compile/20060208-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20060208-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/20060208-1.c
@@ -1,4 +1,5 @@
 /* PR middle-end/26092 */
+/* { dg-skip-if "can't take address of malloc" { nvptx-*-* } { "*" } { "" } } */
 typedef __SIZE_TYPE__ size_t;
 extern void *malloc (size_t);
 
Index: gcc/testsuite/gcc.c-torture/compile/20080721-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20080721-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/20080721-1.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "can't read function data" { nvptx-*-* } { "*" } { "" } } */
 void foo(void);
 void bar(void);
 
Index: gcc/testsuite/gcc.c-torture/compile/920501-4.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/920501-4.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/920501-4.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble } */
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
 
 foo ()
 {
Index: gcc/testsuite/gcc.c-torture/compile/921011-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/921011-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/921011-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
+
 void
 fun (nb)
      int nb;
Index: gcc/testsuite/gcc.c-torture/execute/20101011-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/20101011-1.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/20101011-1.c
@@ -71,6 +71,9 @@ __aeabi_idiv0 (int return_value)
   /* Nios II requires both hardware support and user configuration to
      raise an exception on divide by zero.  */
 # define DO_TEST 0
+#elif defined (__nvptx__)
+/* There isn't even a signal function.  */
+# define DO_TEST 0
 #else
 # define DO_TEST 1
 #endif
Index: gcc/testsuite/gcc.c-torture/execute/pr52129.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr52129.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/pr52129.c
@@ -1,4 +1,5 @@
 /* PR target/52129 */
+/* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O1" } { "" } } */
 
 extern void abort (void);
 struct S { void *p; unsigned int q; };
Index: gcc/testsuite/gcc.dg/20020310-1.c
===================================================================
--- gcc/testsuite/gcc.dg/20020310-1.c.orig
+++ gcc/testsuite/gcc.dg/20020310-1.c
@@ -3,6 +3,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i586" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
+/* { dg-xfail-if "doesn't support self-referential initializers" { nvptx-*-* } } */
 
 struct A
 {
Index: gcc/testsuite/gcc.dg/20020312-2.c
===================================================================
--- gcc/testsuite/gcc.dg/20020312-2.c.orig
+++ gcc/testsuite/gcc.dg/20020312-2.c
@@ -104,6 +104,8 @@ extern void abort (void);
 /* No pic register.  */
 #elif defined(__MSP430__)
 /* No pic register.  */
+#elif defined (__nvptx__)
+/* No pic register.  */
 #else
 # error "Modify the test for your target."
 #endif
Index: gcc/testsuite/gcc.dg/20040813-1.c
===================================================================
--- gcc/testsuite/gcc.dg/20040813-1.c.orig
+++ gcc/testsuite/gcc.dg/20040813-1.c
@@ -2,7 +2,7 @@
 /* Contributed by Devang Patel  <dpa...@apple.com>  */
 
 /* { dg-do compile } */
-/* { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* tile*-*-* nios2-*-* *-*-vxworks* } { "*" } { "" } } */
+/* { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* tile*-*-* nios2-*-* *-*-vxworks* nvptx-*-* } { "*" } { "" } } */
 /* { dg-options "-gstabs" } */
 
 int
Index: gcc/testsuite/gcc.dg/pr28755.c
===================================================================
--- gcc/testsuite/gcc.dg/pr28755.c.orig
+++ gcc/testsuite/gcc.dg/pr28755.c
@@ -3,6 +3,7 @@
 /* { dg-require-effective-target ptr32plus } */
 /* { dg-options "-Os" } */
 /* { dg-final { scan-assembler-times "2112543726\|7deadbee" 2 } } */
+/* { dg-skip-if "integer output is different here" { nvptx-*-* } } */
 
 struct S
 {
Index: gcc/testsuite/gcc.dg/pr44194-1.c
===================================================================
--- gcc/testsuite/gcc.dg/pr44194-1.c.orig
+++ gcc/testsuite/gcc.dg/pr44194-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { { { { { { { i?86-*-* x86_64-*-* } && x32 } || lp64 } && { ! s390*-*-* } } && { ! hppa*64*-*-* } } && { ! alpha*-*-* } } && { { ! powerpc*-*-linux* } || powerpc_elfv2 } } } } */
+/* { dg-do compile { target { { { { { { { i?86-*-* x86_64-*-* } && x32 } || lp64 } && { ! s390*-*-* } } && { ! hppa*64*-*-* } } && { ! alpha*-*-* } } && { { ! powerpc*-*-linux* } || powerpc_elfv2 } && { ! nvptx-*-* } } } } */
 /* { dg-options "-O2 -fdump-rtl-dse1 -fdump-rtl-final" } */
 
 /* Restrict to 64-bit targets since 32-bit targets usually return small
Index: gcc/testsuite/gcc.dg/torture/pr36400.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr36400.c.orig
+++ gcc/testsuite/gcc.dg/torture/pr36400.c
@@ -14,4 +14,4 @@ void baz()
   barptr->some_string = "Everything OK";
 }
 
-/* { dg-final { scan-assembler "Everything OK" } } */
+/* { dg-final { scan-assembler "Everything OK" { xfail nvptx-*-* } } } */
Index: gcc/testsuite/gcc.dg/const-elim-2.c
===================================================================
--- gcc/testsuite/gcc.dg/const-elim-2.c.orig
+++ gcc/testsuite/gcc.dg/const-elim-2.c
@@ -1,7 +1,7 @@
 /* The string constant in this test case should be emitted exactly once.  */
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
-/* { dg-final { scan-assembler-times "hi there" 1 } } */
+/* { dg-final { scan-assembler-times "hi there" 1 { xfail nvptx-*-* } } } */
 
 static inline int returns_23() { return 23; }
 

Reply via email to