Consider the following code:
int dep; #pragma omp target nowait depend(out: dep) { sleep(1); } #pragma omp task depend(in: dep) { printf("Task with dependency\n"); } printf("Doing some work...\n");
In its current state the runtime will block on the second task and not
continue execution.