1! { dg-do compile } 2 3 REAL FUNCTION READ_NEXT() 4 REAL, POINTER :: TMP 5!$OMP SINGLE 6 ALLOCATE (TMP) 7!$OMP END SINGLE COPYPRIVATE (TMP) ! copies the pointer only 8!$OMP MASTER 9 READ (11) TMP 10!$OMP END MASTER 11!$OMP BARRIER 12 READ_NEXT = TMP 13!$OMP BARRIER 14!$OMP SINGLE 15 DEALLOCATE (TMP) 16!$OMP END SINGLE NOWAIT 17 END FUNCTION READ_NEXT 18