blob: b32b85cf31fad7574e7c3577374726f2ccc02ee6 [file] [log] [blame]
Jim Cownie18d84732014-05-10 17:02:09 +00001<ompts:test>
2<ompts:testdescription>Test which checks the omp parallel sections firstprivate clause.</ompts:testdescription>
3<ompts:ompversion>2.0</ompts:ompversion>
4<ompts:directive>omp parallel sections firstprivate</ompts:directive>
5<ompts:dependences>omp critical</ompts:dependences>
6<ompts:testcode>
7 INTEGER FUNCTION <ompts:testcode:functionname>par_section_firstprivate</ompts:testcode:functionname>()
8 IMPLICIT NONE
9 INTEGER sum, sum0, known_sum
10 sum = 7
11 sum0 = 11
12!$omp parallel sections <ompts:check>firstprivate(sum0)</ompts:check><ompts:crosscheck>private(sum0)</ompts:crosscheck>
13!$omp section
14!$omp critical
15 sum = sum + sum0
16!$omp end critical
17<ompts:crosscheck>!$omp section</ompts:crosscheck>
18!$omp critical
19 sum = sum + sum0
20!$omp end critical
21<ompts:crosscheck>!$omp section</ompts:crosscheck>
22!$omp critical
23 sum = sum + sum0
24!$omp end critical
25!$omp end parallel sections
26 known_sum = 11*3 + 7
27 IF ( known_sum .EQ. sum ) THEN
28 <testfunctionname></testfunctionname> = 1
29 ELSE
30 <testfunctionname></testfunctionname> = 0
31 END IF
32 END
33</ompts:testcode>
34</ompts:test>