blob: 9657bc89abc9591e6ba92b2b040d3a9fe7346624 [file] [log] [blame]
Jim Cownie18d84732014-05-10 17:02:09 +00001<ompts:test>
2<ompts:testdescription>Test which checks the omp_nested function.</ompts:testdescription>
3<ompts:ompversion>2.0</ompts:ompversion>
4<ompts:directive>omp_nested</ompts:directive>
5<ompts:dependences>omp critical</ompts:dependences>
6<ompts:testcode>
7/*
8 * Test if the compiler supports nested parallelism
9 * By Chunhua Liao, University of Houston
10 * Oct. 2005
11 */
12#include <stdio.h>
13#include "omp_testsuite.h"
14
15int <ompts:testcode:functionname>omp_nested</ompts:testcode:functionname>(FILE * logFile)
16{
17
18 <ompts:orphan:vars>
19 int counter = 0;
20 </ompts:orphan:vars>
21
22#ifdef _OPENMP
23 <ompts:check>omp_set_nested(1);</ompts:check>
24 <ompts:crosscheck>omp_set_nested(0);</ompts:crosscheck>
25#endif
26
27#pragma omp parallel shared(counter)
28{
29<ompts:orphan>
30#pragma omp critical
31 counter ++;
32#pragma omp parallel
33 {
34#pragma omp critical
35 counter --;
36 }
37</ompts:orphan>
38}
39 return (counter != 0);
40}
41</ompts:testcode>
42</ompts:test>