1! { dg-do run }
2
3  integer, allocatable :: a(:)
4  logical :: l
5  l = .false.
6!$omp parallel firstprivate (a) reduction (.or.:l)
7  l = allocated (a)
8  allocate (a(10))
9  l = l .or. .not. allocated (a)
10  a = 10
11  if (any (a .ne. 10)) l = .true.
12  deallocate (a)
13  l = l .or. allocated (a)
14!$omp end parallel
15  if (l) call abort
16end
17