! { dg-do run }

  use omp_lib
  integer :: i, j, k
  logical :: l
  common /b/ i, j
  i = 4
  j = 8
  l = .false.
!$omp parallel private (k) firstprivate (i) shared (j) num_threads (2) &
!$omp& reduction (.or.:l)
  if (i .ne. 4 .or. j .ne. 8) l = .true.
!$omp barrier
  k = omp_get_thread_num ()
  if (k .eq. 0) then
    i = 14
    j = 15
  end if
!$omp barrier
  if (k .eq. 1) then
    if (i .ne. 4 .or. j .ne. 15) l = .true.
    i = 24
    j = 25
  end if
!$omp barrier
  if (j .ne. 25 .or. i .ne. (k * 10 + 14)) l = .true.
!$omp end parallel
  if (l .or. j .ne. 25) stop 1
end
