! REQUIRES: openmp_runtime ! RUN: %python %S/../test_errors.py %s %flang_fc1 %openmp_flags ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! Only the allocator clause is allowed on the allocate directive ! List item in ALLOCATE directive must not be a dummy argument ! List item in ALLOCATE directive must not have POINTER attribute ! List item in ALLOCATE directive must not be a associate name subroutine allocate(z) use omp_lib use iso_c_binding type(c_ptr), pointer :: p integer :: x, y, z !ERROR: PRIVATE clause is not allowed on the ALLOCATE directive !$omp allocate(y) private(y) !ERROR: A list item in a declarative ALLOCATE cannot have the ALLOCATABLE or POINTER attribute !$omp allocate(p) associate (a => x) block !ERROR: A list item on a declarative ALLOCATE must be declared in the same scope in which the directive appears !$omp allocate(x) allocator(omp_default_mem_alloc) !ERROR: A list item on a declarative ALLOCATE must be declared in the same scope in which the directive appears !ERROR: A list item in a declarative ALLOCATE cannot be an associate name !$omp allocate(a) end block end associate end subroutine allocate