diff options
-rw-r--r-- | libgomp/ChangeLog.gomp | 1 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.fortran/allocatable3.f90 | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/libgomp/ChangeLog.gomp b/libgomp/ChangeLog.gomp index ed6cf8b5b79..1ca5a53fb30 100644 --- a/libgomp/ChangeLog.gomp +++ b/libgomp/ChangeLog.gomp @@ -2,6 +2,7 @@ * testsuite/libgomp.fortran/allocatable1.f90: New test. * testsuite/libgomp.fortran/allocatable2.f90: New test. + * testsuite/libgomp.fortran/allocatable3.f90: New test. 2008-02-26 Jakub Jelinek <jakub@redhat.com> diff --git a/libgomp/testsuite/libgomp.fortran/allocatable3.f90 b/libgomp/testsuite/libgomp.fortran/allocatable3.f90 new file mode 100644 index 00000000000..fe3714a2b1f --- /dev/null +++ b/libgomp/testsuite/libgomp.fortran/allocatable3.f90 @@ -0,0 +1,21 @@ +! { dg-do run } + + integer, allocatable :: a(:) + integer :: i + logical :: l + l = .false. + if (allocated (a)) call abort +!$omp parallel private (a) reduction (.or.:l) + allocate (a (-7:-5)) + l = l.or..not.allocated (a) + l = l.or.size(a).ne.3.or.size(a,1).ne.3 + a(:) = 0 + !$omp do private (a) + do i = 1, 7 + a(:) = i + l = l.or.any (a.ne.i) + end do + l = l.or.any (a.ne.0) + deallocate (a) +!$omp end parallel +end |