[gcc r17-2783] OpenMP: Constructors and destructors for "declare target" static aggregates: Simplify offload tree d

Thomas Schwinge via Gcc-cvs <[email protected]> Wed, 29 Jul 2026 10:07:47 +0000 (GMT)
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:449f8aaf4288aca2c5d2464c5f2123313d476f4f

commit r17-2783-g449f8aaf4288aca2c5d2464c5f2123313d476f4f
Author: Thomas Schwinge <[email protected]>
Date:   Mon Jul 27 18:23:49 2026 +0200

    OpenMP: Constructors and destructors for "declare target" static aggregates: Simplify offload tree dump scanning in test cases
    
    The tests added in commit f1bfba3a9b3f31e3e06bfd1911c9f223869ea03f
    'OpenMP: Constructors and destructors for "declare target" static aggregates'
    carefully distinguish between AMD and NVIDIA GPU offloading compilations'
    offload tree dump scanning -- but do exactly the same for both.  (As expected.)
    Therefore, no reason to duplicate these directives.
    
            libgomp/
            * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C:
            Simplify offload tree dump scanning.
            * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C:
            Likewise.
            * testsuite/libgomp.c-c++-common/target-is-initial-host-2.c:
            Likewise.
            * testsuite/libgomp.c-c++-common/target-is-initial-host.c:
            Likewise.
            * testsuite/libgomp.fortran/target-is-initial-host-2.f90:
            Likewise.
            * testsuite/libgomp.fortran/target-is-initial-host.f: Likewise.
            * testsuite/libgomp.fortran/target-is-initial-host.f90: Likewise.

Diff:
---
 .../testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C  | 8 +++-----
 .../testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C  | 8 +++-----
 libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c | 5 ++---
 libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c   | 5 ++---
 libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90    | 5 ++---
 libgomp/testsuite/libgomp.fortran/target-is-initial-host.f        | 5 ++---
 libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90      | 5 ++---
 7 files changed, 16 insertions(+), 25 deletions(-)

diff --git a/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C b/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C
index 2da754879f02..ce0cb970ec2e 100644
--- a/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C
+++ b/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C
@@ -1,6 +1,6 @@
 // { dg-do run }
 // { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" }
-// { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } }
+// { dg-additional-options -foffload-options=-fdump-tree-optimized }
 
 // { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } }
 // { dg-final { scan-tree-dump-times "_GLOBAL__off_I_v1" 1 "gimple" } }
@@ -22,10 +22,8 @@
 // { dg-final { scan-tree-dump-times "void _GLOBAL__off_I_v1" 1 "optimized" { target offload_target_any } } }
 // { dg-final { scan-tree-dump-times "__attribute__\\(\\(\[^\n\r]*omp declare target nohost" 1 "optimized" { target offload_target_any } } }
 
-// { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_initial_device;" "optimized" { target offload_target_amdgcn } } }
-// { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump "v1\\._x = 5;" "optimized" { target offload_target_amdgcn } } }
-// { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_initial_device;" "optimized" { target offload_target_nvptx } } }
-// { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump "v1\\._x = 5;" "optimized" { target offload_target_nvptx } } }
+// { dg-final { scan-offload-tree-dump-not "omp_initial_device;" "optimized" } }
+// { dg-final { scan-offload-tree-dump "v1\\._x = 5;" "optimized" } }
 // { dg-additional-options "-Wno-deprecated-openmp" }
 #include <cassert>
 #include <omp.h>
diff --git a/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C b/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C
index 1aab931920f2..f939445afa98 100644
--- a/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C
+++ b/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C
@@ -1,6 +1,6 @@
 // { dg-do run }
 // { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" }
-// { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } }
+// { dg-additional-options -foffload-options=-fdump-tree-optimized }
 
 // { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } }
 // { dg-final { scan-tree-dump-times "_GLOBAL__off_I_v1" 1 "gimple" } }
@@ -23,10 +23,8 @@
 // { dg-final { scan-tree-dump-times "__attribute__\\(\\(\[^\n\r]*omp declare target nohost" 1 "optimized" { target offload_target_any } } }
 
 
-// { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_initial_device;" "optimized" { target offload_target_amdgcn } } }
-// { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump "v1\\._x = 5;" "optimized" { target offload_target_amdgcn } } }
-// { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_initial_device;" "optimized" { target offload_target_nvptx } } }
-// { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump "v1\\._x = 5;" "optimized" { target offload_target_nvptx } } }
+// { dg-final { scan-offload-tree-dump-not "omp_initial_device;" "optimized" } }
+// { dg-final { scan-offload-tree-dump "v1\\._x = 5;" "optimized" } }
 // { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <cassert>
diff --git a/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c b/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c
index eabc394c8cf8..2e2b205380c9 100644
--- a/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c
+++ b/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c
@@ -4,14 +4,13 @@
 /* Check whether 'omp_is_initial_device()' is NOT compile-time optimized. */
 
 /* { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" }  */
-/* { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } }  */
+/* { dg-additional-options -foffload-options=-fdump-tree-optimized }  */
 
 /* { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } }  */
 
 /* { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "optimized" } }  */
 
-/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" { target offload_target_amdgcn } } }  */
-/* { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" { target offload_target_nvptx } } }  */
+/* { dg-final { scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" } }  */
 
 
 #include <omp.h>
diff --git a/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c b/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c
index 3b1283a59798..fb8038954fc6 100644
--- a/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c
+++ b/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c
@@ -3,14 +3,13 @@
 /* Check whether 'omp_is_initial_device()' is properly compile-time optimized. */
 
 /* { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" }  */
-/* { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } }  */
+/* { dg-additional-options -foffload-options=-fdump-tree-optimized }  */
 
 /* { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } }  */
 
 /* { dg-final { scan-tree-dump-not "omp_is_initial_device" "optimized" } }  */
 
-/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_amdgcn } } }  */
-/* { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_nvptx } } }  */
+/* { dg-final { scan-offload-tree-dump-not "omp_is_initial_device" "optimized" } }  */
 
 
 #include <omp.h>
diff --git a/libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90 b/libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90
index 56521044eb6b..7035c4458f0f 100644
--- a/libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90
+++ b/libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90
@@ -3,14 +3,13 @@
 ! Check whether 'omp_is_initial_device()' is NOT compile-time optimized. */
 
 ! { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" }
-! { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } }
+! { dg-additional-options -foffload-options=-fdump-tree-optimized }
 
 ! { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } }
 
 ! { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "optimized" } }
 
-! { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" { target offload_target_amdgcn } } }
-! { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" { target offload_target_nvptx } } }
+! { dg-final { scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" } }
 
 
 program main
diff --git a/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f b/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f
index 34b327e39012..ca34a1357c03 100644
--- a/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f
+++ b/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f
@@ -1,14 +1,13 @@
 ! Check whether 'omp_is_initial_device()' is properly compile-time optimized. */
 
 ! { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" }
-! { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } }
+! { dg-additional-options -foffload-options=-fdump-tree-optimized }
 
 ! { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } }
 
 ! { dg-final { scan-tree-dump-not "omp_is_initial_device" "optimized" } }
 
-! { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_amdgcn } } }
-! { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_nvptx } } }
+! { dg-final { scan-offload-tree-dump-not "omp_is_initial_device" "optimized" } }
 
 
       program main
diff --git a/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90 b/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90
index bed99635d428..b26aba13e932 100644
--- a/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90
+++ b/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90
@@ -1,14 +1,13 @@
 ! Check whether 'omp_is_initial_device()' is properly compile-time optimized. */
 
 ! { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" }
-! { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } }
+! { dg-additional-options -foffload-options=-fdump-tree-optimized }
 
 ! { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } }
 
 ! { dg-final { scan-tree-dump-not "omp_is_initial_device" "optimized" } }
 
-! { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_amdgcn } } }
-! { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_nvptx } } }
+! { dg-final { scan-offload-tree-dump-not "omp_is_initial_device" "optimized" } }
 
 
 program main