1! { dg-do compile } 2 3 SUBROUTINE A31_2 (A, B, X, Y, N) 4 INTEGER N 5 REAL X(*), Y(*), A, B, A_P, B_P 6!$OMP PARALLEL SHARED(X, Y, N, A, B) PRIVATE(A_P, B_P) 7 A_P = 0.0 8 B_P = HUGE(B_P) 9!$OMP DO PRIVATE(I) 10 DO I=1,N 11 A_P = A_P + X(I) 12 B_P = MIN(B_P, Y(I)) 13 ENDDO 14!$OMP END DO 15!$OMP CRITICAL 16 A = A + A_P 17 B = MIN(B, B_P) 18!$OMP END CRITICAL 19!$OMP END PARALLEL 20 END SUBROUTINE A31_2 21