1 /* Test that all sections are touched. */
13 static void clean_data (void)
15 memset (data
, -1, sizeof (data
));
18 static void test_data (void)
22 for (i
= 0; i
< N
; ++i
)
23 assert (data
[i
] != -1);
26 static void set_data (unsigned i
, int val
)
29 assert (i
>= 1 && i
<= N
);
30 old
= __sync_lock_test_and_set (data
+i
-1, val
);
35 static void f_1 (void *dummy
)
37 int iam
= omp_get_thread_num ();
40 for (s
= GOMP_sections_start (N
); s
; s
= GOMP_sections_next ())
45 static void test_1 (void)
48 GOMP_parallel_start (f_1
, NULL
, NTHR
);
54 static void f_2 (void *dummy
)
56 int iam
= omp_get_thread_num ();
59 while ((s
= GOMP_sections_next ()))
61 GOMP_sections_end_nowait ();
64 static void test_2 (void)
67 GOMP_parallel_sections_start (f_2
, NULL
, NTHR
, N
);