https://gcc.gnu.org/g:eb311dc3db842d5e2bd4215184a01099e0f26d6c

commit r16-7498-geb311dc3db842d5e2bd4215184a01099e0f26d6c
Author: Tobias Burnus <[email protected]>
Date:   Fri Feb 13 12:29:03 2026 +0100

    Fix gcc/testsuite/*/gomp/pr113436* [PR113436]
    
    Testcases in gcc/testsuite/ may not '#include <omp.h>' or 'use omp_lib';
    instead, now a local declaration of the enum/Fortran-parameter values is
    used.
    
    gcc/testsuite/ChangeLog:
    
            PR middle-end/113436
            * c-c++-common/gomp/pr113436-1.c: Replace '#include <omp.h>' by
            local declaration for omp_allocator_handle_t.
            * c-c++-common/gomp/pr113436-2.c: Likewise.
            * g++.dg/gomp/pr113436.C: Likewise.
            * gfortran.dg/gomp/pr113436-1.f90: Replace 'use omp_lib' by local
            omp_*_mem_alloc parameter declarations.
            * gfortran.dg/gomp/pr113436-2.f90: Likewise.
            * gfortran.dg/gomp/pr113436-3.f90: Likewise.
            * gfortran.dg/gomp/pr113436-4.f90: Likewise.

Diff:
---
 gcc/testsuite/c-c++-common/gomp/pr113436-1.c  | 26 +++++++++++++++++++++++++-
 gcc/testsuite/c-c++-common/gomp/pr113436-2.c  | 26 +++++++++++++++++++++++++-
 gcc/testsuite/g++.dg/gomp/pr113436.C          | 26 +++++++++++++++++++++++++-
 gcc/testsuite/gfortran.dg/gomp/pr113436-1.f90 | 27 ++++++++++++++++++++++++++-
 gcc/testsuite/gfortran.dg/gomp/pr113436-2.f90 | 26 +++++++++++++++++++++++++-
 gcc/testsuite/gfortran.dg/gomp/pr113436-3.f90 | 26 +++++++++++++++++++++++++-
 gcc/testsuite/gfortran.dg/gomp/pr113436-4.f90 | 26 +++++++++++++++++++++++++-
 7 files changed, 176 insertions(+), 7 deletions(-)

diff --git a/gcc/testsuite/c-c++-common/gomp/pr113436-1.c 
b/gcc/testsuite/c-c++-common/gomp/pr113436-1.c
index 985cc212863e..db9bb81cb74f 100644
--- a/gcc/testsuite/c-c++-common/gomp/pr113436-1.c
+++ b/gcc/testsuite/c-c++-common/gomp/pr113436-1.c
@@ -2,7 +2,31 @@
 /* { dg-do compile } */
 /* { dg-options "-fopenmp -fdump-tree-omplower" } */
 
-#include <omp.h>
+// #include <omp.h>
+typedef __UINTPTR_TYPE__ omp_uintptr_t;
+
+#if __cplusplus >= 201103L
+# define __GOMP_UINTPTR_T_ENUM : omp_uintptr_t
+#else
+# define __GOMP_UINTPTR_T_ENUM
+#endif
+
+typedef enum omp_allocator_handle_t __GOMP_UINTPTR_T_ENUM
+{
+  omp_null_allocator = 0,
+  omp_default_mem_alloc = 1,
+  omp_large_cap_mem_alloc = 2,
+  omp_const_mem_alloc = 3,
+  omp_high_bw_mem_alloc = 4,
+  omp_low_lat_mem_alloc = 5,
+  omp_cgroup_mem_alloc = 6,
+  omp_pteam_mem_alloc = 7,
+  omp_thread_mem_alloc = 8,
+  ompx_gnu_pinned_mem_alloc = 200,
+  ompx_gnu_managed_mem_alloc = 201,
+  __omp_allocator_handle_t_max__ = __UINTPTR_MAX__
+} omp_allocator_handle_t;
+
 
 void
 f()
diff --git a/gcc/testsuite/c-c++-common/gomp/pr113436-2.c 
b/gcc/testsuite/c-c++-common/gomp/pr113436-2.c
index 1755b6bd2096..cb4a807dcccb 100644
--- a/gcc/testsuite/c-c++-common/gomp/pr113436-2.c
+++ b/gcc/testsuite/c-c++-common/gomp/pr113436-2.c
@@ -2,7 +2,31 @@
 /* { dg-do compile } */
 /* { dg-options "-fopenmp -fdump-tree-omplower" } */
 
-#include <omp.h>
+// #include <omp.h>
+typedef __UINTPTR_TYPE__ omp_uintptr_t;
+
+#if __cplusplus >= 201103L
+# define __GOMP_UINTPTR_T_ENUM : omp_uintptr_t
+#else
+# define __GOMP_UINTPTR_T_ENUM
+#endif
+
+typedef enum omp_allocator_handle_t __GOMP_UINTPTR_T_ENUM
+{
+  omp_null_allocator = 0,
+  omp_default_mem_alloc = 1,
+  omp_large_cap_mem_alloc = 2,
+  omp_const_mem_alloc = 3,
+  omp_high_bw_mem_alloc = 4,
+  omp_low_lat_mem_alloc = 5,
+  omp_cgroup_mem_alloc = 6,
+  omp_pteam_mem_alloc = 7,
+  omp_thread_mem_alloc = 8,
+  ompx_gnu_pinned_mem_alloc = 200,
+  ompx_gnu_managed_mem_alloc = 201,
+  __omp_allocator_handle_t_max__ = __UINTPTR_MAX__
+} omp_allocator_handle_t;
+
 
 void
 g()
diff --git a/gcc/testsuite/g++.dg/gomp/pr113436.C 
b/gcc/testsuite/g++.dg/gomp/pr113436.C
index ad1cc2f83c6d..7078d88ccffd 100644
--- a/gcc/testsuite/g++.dg/gomp/pr113436.C
+++ b/gcc/testsuite/g++.dg/gomp/pr113436.C
@@ -2,7 +2,31 @@
 // { dg-do "compile" }
 // { dg-options "-std=gnu++20 -fopenmp -fdump-tree-omplower" }
 
-#include <omp.h>
+// #include <omp.h>
+typedef __UINTPTR_TYPE__ omp_uintptr_t;
+
+#if __cplusplus >= 201103L
+# define __GOMP_UINTPTR_T_ENUM : omp_uintptr_t
+#else
+# define __GOMP_UINTPTR_T_ENUM
+#endif
+
+typedef enum omp_allocator_handle_t __GOMP_UINTPTR_T_ENUM
+{
+  omp_null_allocator = 0,
+  omp_default_mem_alloc = 1,
+  omp_large_cap_mem_alloc = 2,
+  omp_const_mem_alloc = 3,
+  omp_high_bw_mem_alloc = 4,
+  omp_low_lat_mem_alloc = 5,
+  omp_cgroup_mem_alloc = 6,
+  omp_pteam_mem_alloc = 7,
+  omp_thread_mem_alloc = 8,
+  ompx_gnu_pinned_mem_alloc = 200,
+  ompx_gnu_managed_mem_alloc = 201,
+  __omp_allocator_handle_t_max__ = __UINTPTR_MAX__
+} omp_allocator_handle_t;
+
 
 void f()
 {
diff --git a/gcc/testsuite/gfortran.dg/gomp/pr113436-1.f90 
b/gcc/testsuite/gfortran.dg/gomp/pr113436-1.f90
index da757ed720ed..1d47a9a00f3c 100644
--- a/gcc/testsuite/gfortran.dg/gomp/pr113436-1.f90
+++ b/gcc/testsuite/gfortran.dg/gomp/pr113436-1.f90
@@ -2,8 +2,33 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-omplower" }
 
+module m
+use iso_c_binding
+integer, parameter :: omp_allocator_handle_kind = c_intptr_t
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_null_allocator = 0
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_default_mem_alloc = 1
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_large_cap_mem_alloc = 2
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_const_mem_alloc = 3
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_high_bw_mem_alloc = 4
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_low_lat_mem_alloc = 5
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_cgroup_mem_alloc = 6
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_pteam_mem_alloc = 7
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_thread_mem_alloc = 8
+end
+
+
 program g
-  use omp_lib
+!  use omp_lib
+  use m
   implicit none
 
   integer :: A, B(10)
diff --git a/gcc/testsuite/gfortran.dg/gomp/pr113436-2.f90 
b/gcc/testsuite/gfortran.dg/gomp/pr113436-2.f90
index 0eaf8b5d36d2..265a0d98636b 100644
--- a/gcc/testsuite/gfortran.dg/gomp/pr113436-2.f90
+++ b/gcc/testsuite/gfortran.dg/gomp/pr113436-2.f90
@@ -2,8 +2,32 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-omplower" }
 
+module m
+use iso_c_binding
+integer, parameter :: omp_allocator_handle_kind = c_intptr_t
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_null_allocator = 0
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_default_mem_alloc = 1
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_large_cap_mem_alloc = 2
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_const_mem_alloc = 3
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_high_bw_mem_alloc = 4
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_low_lat_mem_alloc = 5
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_cgroup_mem_alloc = 6
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_pteam_mem_alloc = 7
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_thread_mem_alloc = 8
+end
+
 program g
-  use omp_lib
+!  use omp_lib
+  use m
   implicit none
 
   integer :: A, B(10)
diff --git a/gcc/testsuite/gfortran.dg/gomp/pr113436-3.f90 
b/gcc/testsuite/gfortran.dg/gomp/pr113436-3.f90
index f04200f0624b..27592533a4ae 100644
--- a/gcc/testsuite/gfortran.dg/gomp/pr113436-3.f90
+++ b/gcc/testsuite/gfortran.dg/gomp/pr113436-3.f90
@@ -2,8 +2,32 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fno-automatic -fdump-tree-omplower" }
 
+module m
+use iso_c_binding
+integer, parameter :: omp_allocator_handle_kind = c_intptr_t
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_null_allocator = 0
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_default_mem_alloc = 1
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_large_cap_mem_alloc = 2
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_const_mem_alloc = 3
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_high_bw_mem_alloc = 4
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_low_lat_mem_alloc = 5
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_cgroup_mem_alloc = 6
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_pteam_mem_alloc = 7
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_thread_mem_alloc = 8
+end
+
 program g
-  use omp_lib
+!  use omp_lib
+  use m
   implicit none
 
   integer :: A(10)
diff --git a/gcc/testsuite/gfortran.dg/gomp/pr113436-4.f90 
b/gcc/testsuite/gfortran.dg/gomp/pr113436-4.f90
index 19889d21fdf9..98aa5bfb46a0 100644
--- a/gcc/testsuite/gfortran.dg/gomp/pr113436-4.f90
+++ b/gcc/testsuite/gfortran.dg/gomp/pr113436-4.f90
@@ -2,8 +2,32 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fno-automatic -fdump-tree-omplower" }
 
+module m
+use iso_c_binding
+integer, parameter :: omp_allocator_handle_kind = c_intptr_t
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_null_allocator = 0
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_default_mem_alloc = 1
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_large_cap_mem_alloc = 2
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_const_mem_alloc = 3
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_high_bw_mem_alloc = 4
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_low_lat_mem_alloc = 5
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_cgroup_mem_alloc = 6
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_pteam_mem_alloc = 7
+        integer (kind=omp_allocator_handle_kind), &
+                 parameter :: omp_thread_mem_alloc = 8
+end
+
 program g
-  use omp_lib
+!  use omp_lib
+  use m
   implicit none
 
   integer :: A(10)

Reply via email to