1! { dg-do compile } 2 SUBROUTINE S(N) 3 INTEGER N 4 REAL, DIMENSION(:), ALLOCATABLE :: A 5 REAL, DIMENSION(:), POINTER :: B 6 ALLOCATE (A(N)) 7!$OMP SINGLE 8 ALLOCATE (B(N)) 9 READ (11) A,B 10!$OMP END SINGLE COPYPRIVATE(A,B) 11 ! Variable A designates a private object 12 ! which has the same value in each thread 13 ! Variable B designates a shared object 14!$OMP BARRIER 15!$OMP SINGLE 16 DEALLOCATE (B) 17!$OMP END SINGLE NOWAIT 18 END SUBROUTINE S 19 20