comparison libgomp/testsuite/libgomp.c/lock-1.c @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:a06113de4d67
1 #include <omp.h>
2 #include <stdlib.h>
3
4 int
5 main (void)
6 {
7 int l = 0;
8 omp_nest_lock_t lock;
9 omp_init_nest_lock (&lock);
10 if (omp_test_nest_lock (&lock) != 1)
11 abort ();
12 if (omp_test_nest_lock (&lock) != 2)
13 abort ();
14 #pragma omp parallel if (0) reduction (+:l)
15 {
16 /* In OpenMP 2.5 this was supposed to return 3,
17 but in OpenMP 3.0 the parallel region has a different
18 task and omp_*_lock_t are owned by tasks, not by threads. */
19 if (omp_test_nest_lock (&lock) != 0)
20 l++;
21 }
22 if (l)
23 abort ();
24 if (omp_test_nest_lock (&lock) != 3)
25 abort ();
26 omp_unset_nest_lock (&lock);
27 omp_unset_nest_lock (&lock);
28 omp_unset_nest_lock (&lock);
29 omp_destroy_nest_lock (&lock);
30 return 0;
31 }