1*404b540aSrobert! { dg-do run } 2*404b540aSrobert real, dimension (5) :: b 3*404b540aSrobert b = 5 4*404b540aSrobert call foo (b) 5*404b540aSrobertcontains 6*404b540aSrobert subroutine foo (a) 7*404b540aSrobert real, dimension (5) :: a 8*404b540aSrobert logical :: l 9*404b540aSrobert l = .false. 10*404b540aSrobert!$omp parallel private (a) reduction (.or.:l) 11*404b540aSrobert a = 15 12*404b540aSrobert l = bar (a) 13*404b540aSrobert!$omp end parallel 14*404b540aSrobert if (l) call abort 15*404b540aSrobert end subroutine 16*404b540aSrobert function bar (a) 17*404b540aSrobert real, dimension (5) :: a 18*404b540aSrobert logical :: bar 19*404b540aSrobert bar = any (a .ne. 15) 20*404b540aSrobert end function 21*404b540aSrobertend 22