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 subroutine f () use m implicit none integer :: i !$omp parallel firstprivate(i) allocate(allocator(omp_low_latency_mem_alloc): i) ! { dg-error "Symbol 'omp_low_latency_mem_alloc' at .1. has no IMPLICIT type; did you mean 'omp_low_lat_mem_alloc'\\\?" "" { target *-*-* } .-1 } ! { dg-error "Expected integer expression of the 'omp_allocator_handle_kind' kind at .1." "" { target *-*-* } .-2 } i = 4 !$omp end parallel end