! RUN: %f18 -funparse-with-symbols %s 2>&1 | FileCheck %s ! RUN: %f18 -fopenmp -funparse-with-symbols %s 2>&1 | FileCheck %s ! CHECK-NOT: do *[1-9] program P implicit none integer OMP_GET_NUM_THREADS, OMP_GET_THREAD_NUM integer NUMTHRDS, TID integer N, CSZ, CNUM, I parameter (N=100) parameter (CSZ=10) real A(N), B(N), C(N) do 10 I = 1, N A(I) = I * 1.0 10 continue B = A CNUM = CSZ !$OMP PARALLEL SHARED(A,B,C,NUMTHRDS,CNUM) PRIVATE(I,TID) TID = OMP_GET_THREAD_NUM() if (TID .EQ. 0) then NUMTHRDS = OMP_GET_NUM_THREADS() print *, "Number of threads =", NUMTHRDS end if print *, "Thread", TID, " is starting..." !$OMP DO SCHEDULE(DYNAMIC,CNUM) do 20 I = 1, N C(I) = A(I) + B(I) write (*,100) TID, I, C(I) 20 continue !$OMP END DO NOWAIT print *, "Thread", TID, " done." !$OMP END PARALLEL 100 format(" Thread", I2, ": C(", I3, ")=", F8.2) end program P