blob: 58564b31935444851a6096bcf71958b2a9fb11b5 [file] [log] [blame]
Jim Cownie18d84732014-05-10 17:02:09 +00001<ompts:test>
2<ompts:testdescription> Test to see if implied shared works correctly</ompts:testdescription>
3<ompts:ompversion>3.0</ompts:ompversion>
4<ompts:directive>omp task</ompts:directive>
5<ompts:dependences>omp single, omp task firstprivate</ompts:dependences>
6<ompts:testcode>
7 INCLUDE "omp_my_sleep.f"
8
9 INTEGER FUNCTION <ompts:testcode:functionname>omp_task_shared</ompts:testcode:functionname>()
10 IMPLICIT NONE
11 INCLUDE "omp_testsuite.f"
12 <ompts:orphan:vars>
13 external my_sleep
14 INTEGER i
15 COMMON /orphvars/ i
16 </ompts:orphan:vars>
17 INTEGER rslt
18 INTEGER k
19
20 i = 0
21 k = 0
22 rslt = 0
23
24!$omp parallel private(k) shared(i)
25!$omp single
26 do k=1, NUM_TASKS
27 <ompts:orphan>
28!$omp task <ompts:crosscheck>firstprivate(i)</ompts:crosscheck>
29!$omp+ <ompts:check>shared(i)</ompts:check>
30!$omp atomic
31 i = i + 1
32!$omp end task
33 </ompts:orphan>
34 end do
35!$omp end single
36!$omp end parallel
37
38 rslt = i
39 if (rslt .eq. NUM_TASKS) then
40 <testfunctionname></testfunctionname> = 1
41 else
42 <testfunctionname></testfunctionname> = 0
43 end if
44
45 END FUNCTION
46</ompts:testcode>
47</ompts:test>