https://gcc.gnu.org/g:186fd25041417c86d74095c20a1de5ad5b29127f
commit 186fd25041417c86d74095c20a1de5ad5b29127f 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. (cherry picked from commit eb311dc3db842d5e2bd4215184a01099e0f26d6c) 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)
