OpenMP-Examples/sources/Example_task_dep.10.c

25 lines
498 B
C

/*
* @@name: task_dep.7c
* @@type: C
* @@compilable: no
* @@linkable: no
* @@expect: failure
*/
void foo (void)
{
int a, b, c;
c = 0;
#pragma omp parallel
#pragma omp single
{
#pragma omp task depend(out: a)
a = longTaskA();
#pragma omp task depend(out: b)
b = shortTaskB();
#pragma omp task depend(in: a) depend(mutexinoutset: c)
c = shortTaskAC(a,c);
#pragma omp task depend(in: b) depend(mutexinoutset: c)
c = longTaskBC(b,c);
}
}