diff options
| author | Jim Cownie <james.h.cownie@intel.com> | 2014-05-10 17:02:09 +0000 |
|---|---|---|
| committer | Jim Cownie <james.h.cownie@intel.com> | 2014-05-10 17:02:09 +0000 |
| commit | 18d8473f185999e418dcb62ee4d8a671c2eacee5 (patch) | |
| tree | d212f5cac426b2be33035984fc56623f92f5ddde /openmp/testsuite/fortran/single_private.f | |
| parent | 281f9d0e97dca0594a15341e3c927e2667773104 (diff) | |
| download | bcm5719-llvm-18d8473f185999e418dcb62ee4d8a671c2eacee5.tar.gz bcm5719-llvm-18d8473f185999e418dcb62ee4d8a671c2eacee5.zip | |
Add testsuite from OpenUH
llvm-svn: 208472
Diffstat (limited to 'openmp/testsuite/fortran/single_private.f')
| -rw-r--r-- | openmp/testsuite/fortran/single_private.f | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/openmp/testsuite/fortran/single_private.f b/openmp/testsuite/fortran/single_private.f new file mode 100644 index 00000000000..7ad4a6a1933 --- /dev/null +++ b/openmp/testsuite/fortran/single_private.f @@ -0,0 +1,51 @@ +<ompts:test> +<ompts:testdescription>Test which checks the omp single private directive.</ompts:testdescription> +<ompts:ompversion>2.0</ompts:ompversion> +<ompts:directive>omp singel private</ompts:directive> +<ompts:dependences>omp critical,omp flush,omp single nowait</ompts:dependences> +<ompts:testcode> + INTEGER FUNCTION <ompts:testcode:functionname>single_private</ompts:testcode:functionname>() + IMPLICIT NONE + INTEGER nr_iterations, i + <ompts:orphan:vars> + INTEGER result + INTEGER nr_threads_in_single, myresult, myit + COMMON /orphvars/ result,nr_iterations + </ompts:orphan:vars> + INCLUDE "omp_testsuite.f" + nr_threads_in_single=0 + result=0 + myresult=0 + myit=0 + nr_iterations=0 +!$omp parallel private(i, myresult, myit) +<ompts:orphan> + myresult = 0 + myit = 0 + nr_threads_in_single=0 +!$omp barrier + DO i=0, LOOPCOUNT -1 +!$omp single <ompts:check>private(nr_threads_in_single)</ompts:check> + nr_threads_in_single = 0 +!$omp flush + nr_threads_in_single = nr_threads_in_single + 1 +!$omp flush + myit = myit + 1 + myresult = myresult + nr_threads_in_single +!$omp end single nowait + END DO +!$omp critical + result = result + nr_threads_in_single + nr_iterations = nr_iterations + myit +!$omp end critical +</ompts:orphan> +!$omp end parallel + WRITE(1,*) "result is",result,"nr_it is",nr_iterations + IF ( result .EQ. 0 .AND. nr_iterations .EQ. LOOPCOUNT) THEN + <testfunctionname></testfunctionname> = 1 + ELSE + <testfunctionname></testfunctionname> = 0 + END IF + END +</ompts:testcode> +</ompts:test> |

