183#pragma omp single nowait
188 int t = omp_get_thread_num();
189#pragma omp task depend(in : i1, i2)
192#pragma omp atomic capture
194 th = omp_get_thread_num();
195 printf(
"task 0_%d, th %d, checker %d\n", t, th, lcheck);
196 if (lcheck > 2 || lcheck < 1) {
198 printf(
"Error1, checker %d, not 1 or 2\n", lcheck);
201#pragma omp atomic read
203 if (lcheck > 2 || lcheck < 1) {
206 printf(
"Error2, checker %d, not 1 or 2\n", lcheck);
211#pragma omp task depend(in : i1, i2)
214#pragma omp atomic capture
216 th = omp_get_thread_num();
217 printf(
"task 1_%d, th %d, checker %d\n", t, th, lcheck);
218 if (lcheck > 2 || lcheck < 1) {
220 printf(
"Error3, checker %d, not 1 or 2\n", lcheck);
223#pragma omp atomic read
225 if (lcheck > 2 || lcheck < 1) {
227 printf(
"Error4, checker %d, not 1 or 2\n", lcheck);
235 sdep[0].
addr = (size_t)&i1;
238 sdep[1].
addr = (size_t)&i2;
246 sdep[0].
addr = (size_t)&i1;
255#pragma omp task depend(in : i1, i2)
258#pragma omp atomic capture
260 th = omp_get_thread_num();
261 printf(
"task 4_%d, th %d, checker %d\n", t, th, lcheck);
262 if (lcheck > 2 || lcheck < 1) {
264 printf(
"Error5, checker %d, not 1 or 2\n", lcheck);
267#pragma omp atomic read
269 if (lcheck > 2 || lcheck < 1) {
271 printf(
"Error6, checker %d, not 1 or 2\n", lcheck);
276#pragma omp task depend(in : i1, i2)
279#pragma omp atomic capture
281 th = omp_get_thread_num();
282 printf(
"task 5_%d, th %d, checker %d\n", t, th, lcheck);
283 if (lcheck > 2 || lcheck < 1) {
285 printf(
"Error7, checker %d, not 1 or 2\n", lcheck);
288#pragma omp atomic read
290 if (lcheck > 2 || lcheck < 1) {
292 printf(
"Error8, checker %d, not 1 or 2\n", lcheck);
300 sdep[0].
addr = (size_t)(-1);
311 sdep[1].
addr = (size_t)&i3;
317#pragma omp task depend(in : i3)
320#pragma omp atomic capture
322 th = omp_get_thread_num();
323 printf(
"task 8_%d, th %d, checker %d\n", t, th, lcheck);
326 printf(
"Error9, checker %d, != 1\n", lcheck);
329#pragma omp atomic read
333 printf(
"Error10, checker %d, != 1\n", lcheck);
344 printf(
"failed, err = %d, checker = %d\n",
err,
checker);
int __kmpc_omp_task_with_deps(id *loc, int gtid, task_t *task, int ndeps, dep *dep_lst, int nd_noalias, dep *noalias_lst)
task_t * __kmpc_omp_task_alloc(id *loc, int gtid, int flags, size_t sz, size_t shar, entry_t rtn)