public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* nvptx: Re-enable a number of test cases
@ 2022-12-02 12:03 Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 1/9] nvptx: Re-enable 'gcc.c-torture/compile/20080721-1.c' Thomas Schwinge
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

Hi!

I'm proposing to re-enable a number of test cases for nvptx.  OK to push?


Grüße
 Thomas



-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/9] nvptx: Re-enable 'gcc.c-torture/compile/20080721-1.c'
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 2/9] nvptx: Re-enable "ptxas times out" test cases Thomas Schwinge
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

PASSes with:

    $ ptxas --version
    ptxas: NVIDIA (R) Ptx optimizing assembler
    Copyright (c) 2005-2018 NVIDIA Corporation
    Built on Sun_Sep__9_21:06:46_CDT_2018
    Cuda compilation tools, release 10.0, V10.0.145

        gcc/testsuite/
        * gcc.c-torture/compile/20080721-1.c: Re-enable for nvptx.
---
 gcc/testsuite/gcc.c-torture/compile/20080721-1.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gcc/testsuite/gcc.c-torture/compile/20080721-1.c b/gcc/testsuite/gcc.c-torture/compile/20080721-1.c
index 6c928f55ca10..35ef352bc6da 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20080721-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20080721-1.c
@@ -1,4 +1,3 @@
-/* { dg-skip-if "can't read function data" { nvptx-*-* } } */
 void foo(void);
 void bar(void);

--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 2/9] nvptx: Re-enable "ptxas times out" test cases
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 1/9] nvptx: Re-enable 'gcc.c-torture/compile/20080721-1.c' Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 3/9] nvptx: Re-enable test cases by removing effective target 'freestanding' Thomas Schwinge
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

These are all quick to compile and generally PASS with:

    $ ptxas --version
    ptxas: NVIDIA (R) Ptx optimizing assembler
    Copyright (c) 2005-2018 NVIDIA Corporation
    Built on Sun_Sep__9_21:06:46_CDT_2018
    Cuda compilation tools, release 10.0, V10.0.145

(Tested 'gcc.c-torture/compile/920501-4.c' with 'dg-require-stack-size' defused
as per "nvptx: stack size limits are relevant for execution only".)

Only 'gcc.c-torture/compile/limits-fndefn.c' now generally FAILs (but not due
to "ptxas times out"), with:

    ptxas limits-fndefn.o, line 8; fatal   : Parsing error near '.visible': syntax error
    ptxas fatal   : Ptx assembly aborted due to errors
    nvptx-as: ptxas returned 255 exit status

Work around that by '-Wa,--no-verify'; to be analyzed further, later on.

        gcc/testsuite/
        * gcc.c-torture/compile/920501-4.c: Re-enable nvptx
        "ptxas times out" variants.
        * gcc.c-torture/compile/921011-1.c: Likewise.
        * gcc.c-torture/compile/limits-fndefn.c: Likewise.
        * 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/pr49049.c: Likewise.
        * gcc.c-torture/compile/pr59417.c: Likewise.
---
 gcc/testsuite/gcc.c-torture/compile/920501-4.c      | 1 -
 gcc/testsuite/gcc.c-torture/compile/921011-1.c      | 2 --
 gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c | 6 +++++-
 gcc/testsuite/gcc.c-torture/compile/pr34334.c       | 1 -
 gcc/testsuite/gcc.c-torture/compile/pr37056.c       | 1 -
 gcc/testsuite/gcc.c-torture/compile/pr39423-1.c     | 1 -
 gcc/testsuite/gcc.c-torture/compile/pr49049.c       | 2 --
 gcc/testsuite/gcc.c-torture/compile/pr59417.c       | 1 -
 8 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-4.c b/gcc/testsuite/gcc.c-torture/compile/920501-4.c
index 2ef54b5d35d4..e165e7fc5f3e 100644
--- a/gcc/testsuite/gcc.c-torture/compile/920501-4.c
+++ b/gcc/testsuite/gcc.c-torture/compile/920501-4.c
@@ -1,5 +1,4 @@
 /* { dg-do assemble } */
-/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
 /* { dg-skip-if "Array too big" { "pdp11-*-*" } { "-mint32" } } */
 /* { dg-require-stack-size "8196*4" } */

diff --git a/gcc/testsuite/gcc.c-torture/compile/921011-1.c b/gcc/testsuite/gcc.c-torture/compile/921011-1.c
index 5955b4c527dc..6cc707dc74c6 100644
--- a/gcc/testsuite/gcc.c-torture/compile/921011-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/921011-1.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
-
 void
 fun (nb)
      int nb;
diff --git a/gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c b/gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c
index 532047354938..66addcccfb1e 100644
--- a/gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c
+++ b/gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c
@@ -1,6 +1,10 @@
 /* { dg-skip-if "too complex for avr" { avr-*-* } } */
-/* { dg-skip-if "ptxas times out" { nvptx-*-* } } */
 /* { dg-skip-if "no chance for bpf" { bpf-*-* } } */
+/* { dg-additional-options -Wa,--no-verify { target nvptx-*-* } }
+       ptxas limits-fndefn.o, line 8; fatal   : Parsing error near '.visible': syntax error
+       ptxas fatal   : Ptx assembly aborted due to errors
+       nvptx-as: ptxas returned 255 exit status
+*/
 /* { 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) \
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr34334.c b/gcc/testsuite/gcc.c-torture/compile/pr34334.c
index 5fa60a356049..30bb782626f8 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr34334.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr34334.c
@@ -1,4 +1,3 @@
-/* { 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;
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37056.c b/gcc/testsuite/gcc.c-torture/compile/pr37056.c
index e709fdc1ffb2..f9285e2c7843 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr37056.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr37056.c
@@ -1,4 +1,3 @@
-/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" "-Os" } { "" } } */
 extern void abort (void);

 static union {
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c b/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c
index c604738b9cb6..34ebb66381a1 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c
@@ -1,5 +1,4 @@
 /* PR target/39423 */
-/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" } { "" } } */

 int
 foo (const char *name, int nmlen, char *flags)
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr49049.c b/gcc/testsuite/gcc.c-torture/compile/pr49049.c
index f396e056fb30..a24b2a41c752 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr49049.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr49049.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-Os" } { "" } } */
-
 __extension__ typedef unsigned long long int uint64_t;

 static int
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr59417.c b/gcc/testsuite/gcc.c-torture/compile/pr59417.c
index 891ba66718a4..227c5d841059 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr59417.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr59417.c
@@ -1,5 +1,4 @@
 /* PR tree-optimization/59417 */
-/* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" "-O2" "-Os" } { "" } } */

 int a, b, d;
 short c;
--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 3/9] nvptx: Re-enable test cases by removing effective target 'freestanding'
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 1/9] nvptx: Re-enable 'gcc.c-torture/compile/20080721-1.c' Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 2/9] nvptx: Re-enable "ptxas times out" test cases Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 4/9] nvptx: Re-enable all variants of 'gcc.c-torture/execute/20020529-1.c' Thomas Schwinge
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

After 2014's commit 157e859ffe3b5d43db1e19475711c1a3d21ab57a "remove picochip",
the effective target 'freestanding' (later) was only ever used for nvptx.
However, the relevant I/O library functions have long been implemented in nvptx
newlib, and otherwise, the more specific effective target 'fileio' (as added in
commit r10-7943-g3685c5adf5c0b30268cb8f95c89e4c4a3240ae6f
"introduce target fileio and require it in tests that use tmpnam") may be used,
and already is used in the relevant test cases.  Therefore, I suggest
"removing effective target 'freestanding'" instead of letting it linger unused,
and thus unmaintained.

These test cases generally PASS, just a few need to get XFAILed; see
<https://docs.nvidia.com/cuda/ptx-writers-guide-to-interoperability/#system-calls>,
and then supposedly
<https://docs.nvidia.com/cuda/cuda-c-programming-guide/#formatted-output> for
description of the non-standard PTX 'vprintf' return value:

> Unlike the C-standard 'printf()', which returns the number of characters
> printed, CUDA's 'printf()' returns the number of arguments parsed. If no
> arguments follow the format string, 0 is returned. If the format string is
> NULL, -1 is returned. If an internal error occurs, -2 is returned.

(I've tried a few variants to confirm that PTX 'vprintf' -- which supposedly is
underlying the CUDA 'printf' -- is what's implementing this behavior.)
Probably, we ought to fix that up in nvptx newlib.

        gcc/doc/
        * sourcebuild.texi (Effective-Target Keywords): Remove
        'freestanding'.
        gcc/testsuite/
        * gcc.c-torture/execute/builtins/fprintf.x: Remove.
        * gcc.c-torture/execute/builtins/fputs.x: Likewise.
        * gcc.c-torture/execute/complex-6.c: Don't gate on 'freestanding'.
        * gcc.c-torture/execute/fprintf-1.c: Likewise.
        * gcc.c-torture/execute/fprintf-2.c: Likewise.
        * gcc.c-torture/execute/fprintf-chk-1.c: Likewise.
        * gcc.c-torture/execute/gofast.c: Likewise.
        * gcc.c-torture/execute/pr34456.c: Likewise.
        * gcc.c-torture/execute/printf-1.c: Likewise.
        * gcc.c-torture/execute/printf-2.c: Likewise.
        * gcc.c-torture/execute/printf-chk-1.c: Likewise.
        * gcc.c-torture/execute/user-printf.c: Likewise.
        * gcc.c-torture/execute/vfprintf-1.c: Likewise.
        * gcc.c-torture/execute/vfprintf-chk-1.c: Likewise.
        * gcc.c-torture/execute/vprintf-1.c: Likewise.
        * gcc.c-torture/execute/vprintf-chk-1.c: Likewise.
        * gcc.dg/pr27531-1.c: Likewise.
        * gcc.dg/pr44606.c: Likewise.
        * lib/target-supports.exp (check_effective_target_freestanding):
        Remove.
---
 gcc/doc/sourcebuild.texi                               |  5 -----
 gcc/testsuite/gcc.c-torture/execute/builtins/fprintf.x |  7 -------
 gcc/testsuite/gcc.c-torture/execute/builtins/fputs.x   |  7 -------
 gcc/testsuite/gcc.c-torture/execute/complex-6.c        |  2 --
 gcc/testsuite/gcc.c-torture/execute/fprintf-1.c        |  2 --
 gcc/testsuite/gcc.c-torture/execute/fprintf-2.c        |  3 +--
 gcc/testsuite/gcc.c-torture/execute/fprintf-chk-1.c    |  2 --
 gcc/testsuite/gcc.c-torture/execute/gofast.c           |  2 --
 gcc/testsuite/gcc.c-torture/execute/pr34456.c          |  2 --
 gcc/testsuite/gcc.c-torture/execute/printf-1.c         |  2 +-
 gcc/testsuite/gcc.c-torture/execute/printf-2.c         |  3 +--
 gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c     |  2 +-
 gcc/testsuite/gcc.c-torture/execute/user-printf.c      |  3 +--
 gcc/testsuite/gcc.c-torture/execute/vfprintf-1.c       |  2 --
 gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.c   |  2 --
 gcc/testsuite/gcc.c-torture/execute/vprintf-1.c        |  2 +-
 gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.c    |  2 +-
 gcc/testsuite/gcc.dg/pr27531-1.c                       |  1 -
 gcc/testsuite/gcc.dg/pr44606.c                         |  1 -
 gcc/testsuite/lib/target-supports.exp                  | 10 ----------
 20 files changed, 7 insertions(+), 55 deletions(-)
 delete mode 100644 gcc/testsuite/gcc.c-torture/execute/builtins/fprintf.x
 delete mode 100644 gcc/testsuite/gcc.c-torture/execute/builtins/fputs.x

diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index fc488964480f..cfdd5cfe1a6f 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -2623,11 +2623,6 @@ Target offers such file I/O library functions as @code{fopen},
 requirement for the presence of the functions in the library; even if
 they fail at runtime, the requirement is still regarded as satisfied.

-@item freestanding
-Target is @samp{freestanding} as defined in section 4 of the C99 standard.
-Effectively, it is a target which supports no extra headers or libraries
-other than what is considered essential.
-
 @item gettimeofday
 Target supports @code{gettimeofday}.

diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/fprintf.x b/gcc/testsuite/gcc.c-torture/execute/builtins/fprintf.x
deleted file mode 100644
index c8fdaf5b2547..000000000000
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/fprintf.x
+++ /dev/null
@@ -1,7 +0,0 @@
-load_lib target-supports.exp
-
-if { [check_effective_target_freestanding] } {
-        return 1;
-}
-
-return 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/fputs.x b/gcc/testsuite/gcc.c-torture/execute/builtins/fputs.x
deleted file mode 100644
index c8fdaf5b2547..000000000000
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/fputs.x
+++ /dev/null
@@ -1,7 +0,0 @@
-load_lib target-supports.exp
-
-if { [check_effective_target_freestanding] } {
-        return 1;
-}
-
-return 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-6.c b/gcc/testsuite/gcc.c-torture/execute/complex-6.c
index 75f921080886..082c7e7cf514 100644
--- a/gcc/testsuite/gcc.c-torture/execute/complex-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/complex-6.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
-
 /* This test tests complex conjugate and passing/returning of
    complex parameter.  */

diff --git a/gcc/testsuite/gcc.c-torture/execute/fprintf-1.c b/gcc/testsuite/gcc.c-torture/execute/fprintf-1.c
index 15996ef22c51..f16252b1e8e6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/fprintf-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/fprintf-1.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
-
 #include <stdio.h>
 #include <stdlib.h>

diff --git a/gcc/testsuite/gcc.c-torture/execute/fprintf-2.c b/gcc/testsuite/gcc.c-torture/execute/fprintf-2.c
index 00517d1d1acf..edcbd1ed631f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/fprintf-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/fprintf-2.c
@@ -3,8 +3,7 @@
    The calls can still be transformed into those of other functions.
    { dg-require-effective-target fileio }
    { dg-prune-output "warning: warning: \[^\n\r\]* possibly used unsafely" }
-   { dg-skip-if "requires io" { avr-*-* } }
-   { dg-skip-if "requires io" { freestanding } } */
+   { dg-skip-if "requires io" { avr-*-* } } */

 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/fprintf-chk-1.c b/gcc/testsuite/gcc.c-torture/execute/fprintf-chk-1.c
index 6f9e62c39e72..918ff8e5689a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/fprintf-chk-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/fprintf-chk-1.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdarg.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/gofast.c b/gcc/testsuite/gcc.c-torture/execute/gofast.c
index 72774f16e740..f55ced22073b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/gofast.c
+++ b/gcc/testsuite/gcc.c-torture/execute/gofast.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
-
 /* Program to test gcc's usage of the gofast library.  */

 /* The main guiding themes are to make it trivial to add test cases over time
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr34456.c b/gcc/testsuite/gcc.c-torture/execute/pr34456.c
index b4a845ec14b1..526c954e55ad 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr34456.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr34456.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "requires qsort" { freestanding } }  */
-
 #include <stdlib.h>

 int __attribute__ ((noinline)) debug (void) { return 1; }
diff --git a/gcc/testsuite/gcc.c-torture/execute/printf-1.c b/gcc/testsuite/gcc.c-torture/execute/printf-1.c
index 654e62766a85..77c4b87009eb 100644
--- a/gcc/testsuite/gcc.c-torture/execute/printf-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/printf-1.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
+/* { dg-xfail-run-if {unexpected PTX 'vprintf' return value} { nvptx-*-* } } */

 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/printf-2.c b/gcc/testsuite/gcc.c-torture/execute/printf-2.c
index 2087bba84482..6e060773f83b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/printf-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/printf-2.c
@@ -4,8 +4,7 @@
    { dg-require-effective-target unwrapped }
    { dg-require-effective-target fileio }
    { dg-prune-output "warning: warning: \[^\n\r\]* possibly used unsafely" }
-   { dg-skip-if "requires io" { avr-*-* } }
-   { dg-skip-if "requires io" { freestanding } } */
+   { dg-skip-if "requires io" { avr-*-* } } */

 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c b/gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c
index aab43062baef..a9fb5eea63df 100644
--- a/gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
+/* { dg-xfail-run-if {unexpected PTX 'vprintf' return value} { nvptx-*-* } } */

 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/user-printf.c b/gcc/testsuite/gcc.c-torture/execute/user-printf.c
index bfee0760dd74..683aaf272589 100644
--- a/gcc/testsuite/gcc.c-torture/execute/user-printf.c
+++ b/gcc/testsuite/gcc.c-torture/execute/user-printf.c
@@ -4,8 +4,7 @@
    { dg-require-effective-target unwrapped }
    { dg-require-effective-target fileio }
    { dg-prune-output "warning: warning: \[^\n\r\]* possibly used unsafely" }
-   { dg-skip-if "requires io" { avr-*-* } }
-   { dg-skip-if "requires io" { freestanding } } */
+   { dg-skip-if "requires io" { avr-*-* } } */

 #include <stdarg.h>
 #include <stdio.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/vfprintf-1.c b/gcc/testsuite/gcc.c-torture/execute/vfprintf-1.c
index 0ac41dee3d6f..c00380425425 100644
--- a/gcc/testsuite/gcc.c-torture/execute/vfprintf-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/vfprintf-1.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
-
 #ifndef test
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.c b/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.c
index 401eaf4304a4..f8f964c7e9af 100644
--- a/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.c
@@ -1,5 +1,3 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
-
 #ifndef test
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/vprintf-1.c b/gcc/testsuite/gcc.c-torture/execute/vprintf-1.c
index 259397ebda39..5c6208dd114d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/vprintf-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/vprintf-1.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
+/* { dg-xfail-run-if {unexpected PTX 'vprintf' return value} { nvptx-*-* } } */

 #ifndef test
 #include <stdio.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.c b/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.c
index 04ecc4df4d93..bb321ba6908c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.c
@@ -1,4 +1,4 @@
-/* { dg-skip-if "requires io" { freestanding } }  */
+/* { dg-xfail-run-if {unexpected PTX 'vprintf' return value} { nvptx-*-* } } */

 #ifndef test
 #include <stdio.h>
diff --git a/gcc/testsuite/gcc.dg/pr27531-1.c b/gcc/testsuite/gcc.dg/pr27531-1.c
index b1ea748acb27..04672045b581 100644
--- a/gcc/testsuite/gcc.dg/pr27531-1.c
+++ b/gcc/testsuite/gcc.dg/pr27531-1.c
@@ -4,7 +4,6 @@
    output to reference a label that had been eliminated.  */
 /* { dg-do link } */
 /* { dg-options "-O2" } */
-/* { dg-skip-if "requires io" { freestanding } }  */

 typedef struct _IO_FILE FILE;
 char const *RCSname;
diff --git a/gcc/testsuite/gcc.dg/pr44606.c b/gcc/testsuite/gcc.dg/pr44606.c
index 13cc3efc1939..3929775535e0 100644
--- a/gcc/testsuite/gcc.dg/pr44606.c
+++ b/gcc/testsuite/gcc.dg/pr44606.c
@@ -1,7 +1,6 @@
 /* PR target/44606 */
 /* { dg-do run } */
 /* { dg-options "-O2" } */
-/* { dg-skip-if "requires io" { freestanding } }  */

 #include <stdio.h>

diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 555d6dde505a..d2de761adb5d 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -830,16 +830,6 @@ proc check_profiling_available { test_what } {
     return $profiling_working
 }

-# Check to see if a target is "freestanding". This is as per the definition
-# in Section 4 of C99 standard. Effectively, it is a target which supports no
-# extra headers or libraries other than what is considered essential.
-proc check_effective_target_freestanding { } {
-    if { [istarget nvptx-*-*] } {
-       return 1
-    }
-    return 0
-}
-
 # Check to see that file I/O functions are available.
 proc check_effective_target_fileio { } {
     return [check_no_compiler_messages fileio_available executable {
--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 4/9] nvptx: Re-enable all variants of 'gcc.c-torture/execute/20020529-1.c'
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
                   ` (2 preceding siblings ...)
  2022-12-02 12:03 ` [PATCH 3/9] nvptx: Re-enable test cases by removing effective target 'freestanding' Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 5/9] nvptx: Re-enable 'gcc.dg/special/weak-2.c' Thomas Schwinge
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

Generally PASSes with:

    $ ptxas --version
    ptxas: NVIDIA (R) Ptx optimizing assembler
    Copyright (c) 2005-2018 NVIDIA Corporation
    Built on Sun_Sep__9_21:06:46_CDT_2018
    Cuda compilation tools, release 10.0, V10.0.145

..., and execution with 'Driver Version: 361.93.02'.

Only the '-O1' execution test FAILs (pre-existing; to be analyzed later):

    nvptx-run: error getting kernel result: an illegal memory access was encountered (CUDA_ERROR_ILLEGAL_ADDRESS, 700)

        gcc/testsuite/
        * gcc.c-torture/execute/20020529-1.c: Re-enable all variants for
        nvptx.
---
 gcc/testsuite/gcc.c-torture/execute/20020529-1.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gcc/testsuite/gcc.c-torture/execute/20020529-1.c b/gcc/testsuite/gcc.c-torture/execute/20020529-1.c
index 160a716ba5bf..d1b93c76fdf4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020529-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020529-1.c
@@ -12,10 +12,6 @@
    forced a splitter through the output pattern "#", but there was no
    matching splitter.  */

-/* The ptx assembler appears to clobber 'b' inside foo during the f1 call.
-   Reported to nvidia 2016-05-18.  */
-/* { dg-skip-if "PTX assembler bug" { nvptx-*-* } { "-O0" } { "" } } */
-
 struct xx
  {
    int a;
--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 5/9] nvptx: Re-enable 'gcc.dg/special/weak-2.c'
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
                   ` (3 preceding siblings ...)
  2022-12-02 12:03 ` [PATCH 4/9] nvptx: Re-enable all variants of 'gcc.c-torture/execute/20020529-1.c' Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 6/9] nvptx: Re-enable all variants of 'c-c++-common/torture/complex-sign-mixed-add.c', 'c-c++-common/torture/complex-sign-mixed-sub.c' Thomas Schwinge
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

PASSes with:

    $ ptxas --version
    ptxas: NVIDIA (R) Ptx optimizing assembler
    Copyright (c) 2005-2018 NVIDIA Corporation
    Built on Sun_Sep__9_21:06:46_CDT_2018
    Cuda compilation tools, release 10.0, V10.0.145

..., and execution with 'Driver Version: 361.93.02'.

        gcc/testsuite/
        * gcc.dg/special/weak-2.c: Re-enable for nvptx.
---
 gcc/testsuite/gcc.dg/special/weak-2.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/special/weak-2.c b/gcc/testsuite/gcc.dg/special/weak-2.c
index b8133e2d7d95..b93a8ef9a529 100644
--- a/gcc/testsuite/gcc.dg/special/weak-2.c
+++ b/gcc/testsuite/gcc.dg/special/weak-2.c
@@ -2,10 +2,6 @@
 /* { dg-require-weak "" } */
 /* { dg-additional-sources "weak-2a.c weak-2b.c" } */

-/* NVPTX's implementation of weak is broken when a strong symbol is in
-   a later object file than the weak definition.   */
-/* { dg-skip-if "" { "nvptx-*-*" } } */
-
 #include <stdlib.h>

 extern int foo(void);
--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 6/9] nvptx: Re-enable all variants of 'c-c++-common/torture/complex-sign-mixed-add.c', 'c-c++-common/torture/complex-sign-mixed-sub.c'
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
                   ` (4 preceding siblings ...)
  2022-12-02 12:03 ` [PATCH 5/9] nvptx: Re-enable 'gcc.dg/special/weak-2.c' Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 7/9] nvptx: Re-enable 'gcc.dg/torture/c99-contract-1.c' Thomas Schwinge
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

PASS with:

    $ ptxas --version
    ptxas: NVIDIA (R) Ptx optimizing assembler
    Copyright (c) 2005-2018 NVIDIA Corporation
    Built on Sun_Sep__9_21:06:46_CDT_2018
    Cuda compilation tools, release 10.0, V10.0.145

..., and execution with 'Driver Version: 361.93.02'.

        gcc/testsuite/
        * c-c++-common/torture/complex-sign-mixed-add.c: Re-enable all
        variants for nvptx.
        * c-c++-common/torture/complex-sign-mixed-sub.c: Likewise.
---
 gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c | 1 -
 gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c | 1 -
 2 files changed, 2 deletions(-)

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c
index a209161e1578..d1e20912ae14 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c
@@ -2,7 +2,6 @@
    addition.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
-/* { dg-skip-if "ptx can elide zero additions" { "nvptx-*-*" } { "-O0" } { "" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c
index 02ab4db247cb..739500d2f8be 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c
@@ -2,7 +2,6 @@
    subtraction.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
-/* { dg-skip-if "ptx can elide zero additions" { "nvptx-*-*" } { "-O0" } { "" } } */

 #include "complex-sign.h"

--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 7/9] nvptx: Re-enable 'gcc.dg/torture/c99-contract-1.c'
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
                   ` (5 preceding siblings ...)
  2022-12-02 12:03 ` [PATCH 6/9] nvptx: Re-enable all variants of 'c-c++-common/torture/complex-sign-mixed-add.c', 'c-c++-common/torture/complex-sign-mixed-sub.c' Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 8/9] nvptx: Re-enable "Stack alignment causes use of alloca" test cases Thomas Schwinge
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

Generally PASSes with:

    $ ptxas --version
    ptxas: NVIDIA (R) Ptx optimizing assembler
    Copyright (c) 2005-2018 NVIDIA Corporation
    Built on Sun_Sep__9_21:06:46_CDT_2018
    Cuda compilation tools, release 10.0, V10.0.145

..., and execution with 'Driver Version: 361.93.02', at least for the '-O0'
execution test.  Optimized execution tests XFAILed, to be analyzed later.

        gcc/testsuite/
        * gcc.dg/torture/c99-contract-1.c: Re-enable for nvptx.
---
 gcc/testsuite/gcc.dg/torture/c99-contract-1.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.dg/torture/c99-contract-1.c b/gcc/testsuite/gcc.dg/torture/c99-contract-1.c
index 392666f3dd58..749005e797c5 100644
--- a/gcc/testsuite/gcc.dg/torture/c99-contract-1.c
+++ b/gcc/testsuite/gcc.dg/torture/c99-contract-1.c
@@ -2,7 +2,7 @@
    expressions.  */
 /* { dg-do run } */
 /* { dg-options "-std=c99 -pedantic-errors" } */
-/* { dg-skip-if "ptx only loosely follows IEEE" { "nvptx-*-*" } } */
+/* { dg-xfail-run-if {only loosely follows IEEE} { nvptx-*-* && __OPTIMIZE__ } } */

 extern void abort (void);
 extern void exit (int);
--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 8/9] nvptx: Re-enable "Stack alignment causes use of alloca" test cases
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
                   ` (6 preceding siblings ...)
  2022-12-02 12:03 ` [PATCH 7/9] nvptx: Re-enable 'gcc.dg/torture/c99-contract-1.c' Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-02 12:03 ` [PATCH 9/9] nvptx: Re-enable 'gcc.misc-tests/options.exp' Thomas Schwinge
  2022-12-20  7:56 ` [PING] nvptx: Re-enable a number of test cases Thomas Schwinge
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

Generally PASS with:

    $ ptxas --version
    ptxas: NVIDIA (R) Ptx optimizing assembler
    Copyright (c) 2005-2018 NVIDIA Corporation
    Built on Sun_Sep__9_21:06:46_CDT_2018
    Cuda compilation tools, release 10.0, V10.0.145

..., and execution with 'Driver Version: 361.93.02'.

The exceptions are 'gcc.dg/torture/stackalign/pr16660-2.c',
'gcc.dg/torture/stackalign/pr16660-3.c', where a few variants get XFAILed due
to:

    nvptx-as: ptxas terminated with signal 11 [Segmentation fault], core dumped

        gcc/testsuite/
        * gcc.dg/torture/stackalign/global-1.c: Re-enable for nvptx.
        * gcc.dg/torture/stackalign/inline-1.c: Likewise.
        * gcc.dg/torture/stackalign/nested-1.c: Likewise.
        * gcc.dg/torture/stackalign/nested-2.c: Likewise.
        * gcc.dg/torture/stackalign/nested-4.c: Likewise.
        * gcc.dg/torture/stackalign/pr16660-1.c: Likewise.
        * gcc.dg/torture/stackalign/pr16660-2.c: Likewise.
        * gcc.dg/torture/stackalign/pr16660-3.c: Likewise.
        * gcc.dg/torture/stackalign/ret-struct-1.c: Likewise.
        * gcc.dg/torture/stackalign/struct-1.c: Likewise.
---
 gcc/testsuite/gcc.dg/torture/stackalign/global-1.c     | 1 -
 gcc/testsuite/gcc.dg/torture/stackalign/inline-1.c     | 1 -
 gcc/testsuite/gcc.dg/torture/stackalign/nested-1.c     | 1 -
 gcc/testsuite/gcc.dg/torture/stackalign/nested-2.c     | 1 -
 gcc/testsuite/gcc.dg/torture/stackalign/nested-4.c     | 2 +-
 gcc/testsuite/gcc.dg/torture/stackalign/pr16660-1.c    | 1 -
 gcc/testsuite/gcc.dg/torture/stackalign/pr16660-2.c    | 2 +-
 gcc/testsuite/gcc.dg/torture/stackalign/pr16660-3.c    | 2 +-
 gcc/testsuite/gcc.dg/torture/stackalign/ret-struct-1.c | 1 -
 gcc/testsuite/gcc.dg/torture/stackalign/struct-1.c     | 1 -
 10 files changed, 3 insertions(+), 10 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/global-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/global-1.c
index 66bec64a0f58..a7cbfa74d165 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/global-1.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/global-1.c
@@ -1,6 +1,5 @@
 /* { dg-do run } */
 /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/inline-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/inline-1.c
index 912581e9ca84..6aed4398cb19 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/inline-1.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/inline-1.c
@@ -1,6 +1,5 @@
 /* { dg-do run } */
 /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/nested-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/nested-1.c
index ae9047e783d9..25343757c9ce 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/nested-1.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/nested-1.c
@@ -1,6 +1,5 @@
 /* { dg-do run } */
 /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/nested-2.c b/gcc/testsuite/gcc.dg/torture/stackalign/nested-2.c
index d083d6695b11..397a34fb661f 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/nested-2.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/nested-2.c
@@ -1,6 +1,5 @@
 /* { dg-do run } */
 /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/nested-4.c b/gcc/testsuite/gcc.dg/torture/stackalign/nested-4.c
index a46104b9df0a..4d18ba9ad397 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/nested-4.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/nested-4.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */
+/* { dg-require-effective-target nonlocal_goto } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-1.c
index 459b3df26964..3818e5c32cd6 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-1.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-1.c
@@ -1,6 +1,5 @@
 /* { dg-do run } */
 /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-2.c b/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-2.c
index 2aaff4001091..db0763bbd33d 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-2.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-2.c
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */
+/* { dg-xfail-if {ptxas SIGSEGV} { nvptx-*-* } { {-O0} {-fpic} } } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-3.c b/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-3.c
index ceb626682f89..4a4989b3440c 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-3.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/pr16660-3.c
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */
+/* { dg-xfail-if {ptxas SIGSEGV} { nvptx-*-* } { {-O0} {-fpic} } } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/ret-struct-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/ret-struct-1.c
index ff0488dc956c..e56def4e7c3a 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/ret-struct-1.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/ret-struct-1.c
@@ -1,6 +1,5 @@
 /* { dg-do run } */
 /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */

 #include "check.h"

diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/struct-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/struct-1.c
index 4e9796f7826f..12262ebbe692 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/struct-1.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/struct-1.c
@@ -1,6 +1,5 @@
 /* { dg-do run } */
 /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */
-/* { dg-skip-if "Stack alignment causes use of alloca" { nvptx-*-* } } */

 #include "check.h"

--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 9/9] nvptx: Re-enable 'gcc.misc-tests/options.exp'
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
                   ` (7 preceding siblings ...)
  2022-12-02 12:03 ` [PATCH 8/9] nvptx: Re-enable "Stack alignment causes use of alloca" test cases Thomas Schwinge
@ 2022-12-02 12:03 ` Thomas Schwinge
  2022-12-20  7:56 ` [PING] nvptx: Re-enable a number of test cases Thomas Schwinge
  9 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-02 12:03 UTC (permalink / raw)
  To: gcc-patches, tdevries

..., just conditionalize its profiling test (as done elsewhere).

        gcc/testsuite/
        * gcc.misc-tests/options.exp: Re-enable for nvptx.
---
 gcc/testsuite/gcc.misc-tests/options.exp | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/gcc/testsuite/gcc.misc-tests/options.exp b/gcc/testsuite/gcc.misc-tests/options.exp
index c939aef1f4bc..a055786ea0c1 100644
--- a/gcc/testsuite/gcc.misc-tests/options.exp
+++ b/gcc/testsuite/gcc.misc-tests/options.exp
@@ -21,12 +21,6 @@

 load_lib gcc-defs.exp

-# disable for non-profile targets explitly, rather than
-# rely on check-effective target.  We're explicitly trying to check
-# profiling works, and if it doesn't check-effective-target will
-# simply skip the tests, rather than have this test shout at us.
-if [ istarget "nvptx-*-*" ] { return 0 }
-
 # These tests don't run runtest_file_p consistently if it
 # doesn't return the same values, so disable parallelization
 # of this *.exp file.  The first parallel runtest to reach
@@ -73,7 +67,9 @@ proc check_for_all_options {language gcc_options compiler_pattern as_pattern ld_
     pass $test
 }

-check_for_all_options c {--coverage} {-fprofile-arcs -ftest-coverage} {} {-lgcov}
+if { [check_profiling_available "-fprofile-arcs"] } {
+    check_for_all_options c {--coverage} {-fprofile-arcs -ftest-coverage} {} {-lgcov}
+}

 proc get_dump_flags {} {
     set res [list]
--
2.35.1

-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PING] nvptx: Re-enable a number of test cases
  2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
                   ` (8 preceding siblings ...)
  2022-12-02 12:03 ` [PATCH 9/9] nvptx: Re-enable 'gcc.misc-tests/options.exp' Thomas Schwinge
@ 2022-12-20  7:56 ` Thomas Schwinge
  2023-01-11 11:34   ` [PING^2] " Thomas Schwinge
  9 siblings, 1 reply; 12+ messages in thread
From: Thomas Schwinge @ 2022-12-20  7:56 UTC (permalink / raw)
  To: gcc-patches, tdevries

Hi!

Ping this whole series.


Grüße
 Thomas


On 2022-12-02T13:03:06+0100, Thomas Schwinge <thomas@codesourcery.com> wrote:
> Hi!
>
> I'm proposing to re-enable a number of test cases for nvptx.  OK to push?
>
>
> Grüße
>  Thomas
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PING^2] nvptx: Re-enable a number of test cases
  2022-12-20  7:56 ` [PING] nvptx: Re-enable a number of test cases Thomas Schwinge
@ 2023-01-11 11:34   ` Thomas Schwinge
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Schwinge @ 2023-01-11 11:34 UTC (permalink / raw)
  To: gcc-patches, tdevries

Hi!

Ping this whole series.


Grüße
 Thomas


On 2022-12-20T08:56:42+0100, I wrote:
> Hi!
>
> Ping this whole series.
>
>
> Grüße
>  Thomas
>
>
> On 2022-12-02T13:03:06+0100, I wrote:
>> Hi!
>>
>> I'm proposing to re-enable a number of test cases for nvptx.  OK to push?
>>
>>
>> Grüße
>>  Thomas
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-01-11 11:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-02 12:03 nvptx: Re-enable a number of test cases Thomas Schwinge
2022-12-02 12:03 ` [PATCH 1/9] nvptx: Re-enable 'gcc.c-torture/compile/20080721-1.c' Thomas Schwinge
2022-12-02 12:03 ` [PATCH 2/9] nvptx: Re-enable "ptxas times out" test cases Thomas Schwinge
2022-12-02 12:03 ` [PATCH 3/9] nvptx: Re-enable test cases by removing effective target 'freestanding' Thomas Schwinge
2022-12-02 12:03 ` [PATCH 4/9] nvptx: Re-enable all variants of 'gcc.c-torture/execute/20020529-1.c' Thomas Schwinge
2022-12-02 12:03 ` [PATCH 5/9] nvptx: Re-enable 'gcc.dg/special/weak-2.c' Thomas Schwinge
2022-12-02 12:03 ` [PATCH 6/9] nvptx: Re-enable all variants of 'c-c++-common/torture/complex-sign-mixed-add.c', 'c-c++-common/torture/complex-sign-mixed-sub.c' Thomas Schwinge
2022-12-02 12:03 ` [PATCH 7/9] nvptx: Re-enable 'gcc.dg/torture/c99-contract-1.c' Thomas Schwinge
2022-12-02 12:03 ` [PATCH 8/9] nvptx: Re-enable "Stack alignment causes use of alloca" test cases Thomas Schwinge
2022-12-02 12:03 ` [PATCH 9/9] nvptx: Re-enable 'gcc.misc-tests/options.exp' Thomas Schwinge
2022-12-20  7:56 ` [PING] nvptx: Re-enable a number of test cases Thomas Schwinge
2023-01-11 11:34   ` [PING^2] " Thomas Schwinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).