! { dg-do compile }SUBROUTINE A31_2(A,B,X,Y,N)INTEGER NREAL X(*),Y(*),A,B,A_P,B_P!$OMP PARALLEL SHARED(X, Y, N, A, B) PRIVATE(A_P, B_P)A_P=0.0B_P=HUGE(B_P)!$OMP DO PRIVATE(I)DO I=1,NA_P=A_P+X(I)B_P=MIN(B_P,Y(I))ENDDO!$OMP END DO!$OMP CRITICALA=A+A_PB=MIN(B,B_P)!$OMP END CRITICAL!$OMP END PARALLELEND SUBROUTINE A31_2