xref: /llvm-project/flang/test/Semantics/OpenMP/allocate02.f90 (revision 15710bbdadddbf03428fd16aed53e6be54960703)
1! REQUIRES: openmp_runtime
2
3! RUN: %python %S/../test_errors.py %s %flang_fc1 %openmp_flags
4! OpenMP Version 5.0
5! 2.11.3 allocate Directive
6! At most one allocator clause can appear on the allocate directive.
7
8subroutine allocate()
9use omp_lib
10  integer :: x, y
11  integer :: a, b
12  real, dimension (:,:), allocatable :: darray
13
14  !$omp allocate(x, y) allocator(omp_default_mem_alloc)
15
16  !ERROR: At most one ALLOCATOR clause can appear on the ALLOCATE directive
17  !$omp allocate(x, y) allocator(omp_default_mem_alloc) allocator(omp_default_mem_alloc)
18
19  !$omp allocate(darray) allocator(omp_default_mem_alloc)
20      allocate ( darray(a, b) )
21
22  !ERROR: At most one ALLOCATOR clause can appear on the ALLOCATE directive
23  !$omp allocate(darray) allocator(omp_default_mem_alloc) allocator(omp_default_mem_alloc)
24      allocate ( darray(a, b) )
25
26end subroutine allocate
27