Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.fortran/appendix-a/a.4.1.f90 @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | a06113de4d67 |
children |
line wrap: on
line source
! { dg-do run } SUBROUTINE SUBDOMAIN(X, ISTART, IPOINTS) INTEGER ISTART, IPOINTS REAL X(*) INTEGER I DO 100 I=1,IPOINTS X(ISTART+I) = 123.456 100 CONTINUE END SUBROUTINE SUBDOMAIN SUBROUTINE SUB(X, NPOINTS) INCLUDE "omp_lib.h" ! or USE OMP_LIB REAL X(*) INTEGER NPOINTS INTEGER IAM, NT, IPOINTS, ISTART !$OMP PARALLEL DEFAULT(PRIVATE) SHARED(X,NPOINTS) IAM = OMP_GET_THREAD_NUM() NT = OMP_GET_NUM_THREADS() IPOINTS = NPOINTS/NT ISTART = IAM * IPOINTS IF (IAM .EQ. NT-1) THEN IPOINTS = NPOINTS - ISTART ENDIF CALL SUBDOMAIN(X,ISTART,IPOINTS) !$OMP END PARALLEL END SUBROUTINE SUB PROGRAM A4 REAL ARRAY(10000) CALL SUB(ARRAY, 10000) END PROGRAM A4