blob: 6c873715e2fa9922922272c2ccfabd0fa2efaa56 [file] [log] [blame]
Jim Cownie18d84732014-05-10 17:02:09 +00001<ompts:test>
2<ompts:testdescription>Test which checks the default option of the parallel construct.</ompts:testdescription>
3<ompts:ompversion>3.0</ompts:ompversion>
4<ompts:directive>omp parallel default</ompts:directive>
5<ompts:testcode>
6#include <stdio.h>
7#include <unistd.h>
8
9#include "omp_testsuite.h"
10
11int <ompts:testcode:functionname>omp_parallel_default</ompts:testcode:functionname> (FILE * logFile)
12{
13 <ompts:orphan:vars>
14 int i;
15 int sum;
16 int mysum;
17 </ompts:orphan:vars>
18
19 int known_sum;
20 sum =0;
21 known_sum = (LOOPCOUNT * (LOOPCOUNT + 1)) / 2 ;
22
23 <ompts:orphan>
24 #pragma omp parallel <ompts:check>default(shared)</ompts:check> private(i) private(mysum<ompts:crosscheck>,sum</ompts:crosscheck>)
25 {
26 mysum = 0;
27 #pragma omp for
28 for (i = 1; i <= LOOPCOUNT; i++)
29 {
30 mysum = mysum + i;
31 }
32#pragma omp critical
33 {
34 sum = sum + mysum;
35 } /* end of critical */
36 } /* end of parallel */
37 </ompts:orphan>
38 if (known_sum != sum) {
39 fprintf(logFile, "KNOWN_SUM = %d; SUM = %d\n", known_sum, sum);
40 }
41 return (known_sum == sum);
42}
43</ompts:testcode>
44</ompts:test>