[8/9] nvptx: Re-enable "Stack alignment causes use of alloca" test cases

Message ID 20221202120315.803120-9-thomas@codesourcery.com
State New
Headers
Series [1/9] nvptx: Re-enable 'gcc.c-torture/compile/20080721-1.c' |

Commit Message

Thomas Schwinge Dec. 2, 2022, 12:03 p.m. UTC
  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(-)

--
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
  

Patch

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"