Hi! The final standard now explicitly lists how copyin should copy allocatables. Here is a testcase for something that hasn't been covered by the testsuite yet.
2011-07-12 Jakub Jelinek <ja...@redhat.com> * testsuite/libgomp.fortran/allocatable8.f90: New test. --- libgomp/testsuite/libgomp.fortran/allocatable8.f90.jj 2011-07-12 15:42:56.000000000 +0200 +++ libgomp/testsuite/libgomp.fortran/allocatable8.f90 2011-07-12 15:45:00.000000000 +0200 @@ -0,0 +1,14 @@ +! { dg-do run } +! { dg-require-effective-target tls_runtime } +!$ use omp_lib + + integer, save, allocatable :: a(:, :) + logical :: l +!$omp threadprivate (a) + if (allocated (a)) call abort + l = .false. +!$omp parallel copyin (a) num_threads (4) reduction(.or.:l) + l = l.or.allocated (a) +!$omp end parallel + if (l.or.allocated (a)) call abort +end Jakub