1*330d8983SJohannes Doerfert // RUN: %libomptarget-compile-run-and-check-generic 2*330d8983SJohannes Doerfert 3*330d8983SJohannes Doerfert // REQUIRES: libc 4*330d8983SJohannes Doerfert 5*330d8983SJohannes Doerfert #include <assert.h> 6*330d8983SJohannes Doerfert #include <stdio.h> 7*330d8983SJohannes Doerfert 8*330d8983SJohannes Doerfert #pragma omp declare target to(stdout) 9*330d8983SJohannes Doerfert main()10*330d8983SJohannes Doerfertint main() { 11*330d8983SJohannes Doerfert int r = 0; 12*330d8983SJohannes Doerfert // CHECK: PASS 13*330d8983SJohannes Doerfert #pragma omp target map(from : r) 14*330d8983SJohannes Doerfert { r = fwrite("PASS\n", 1, sizeof("PASS\n") - 1, stdout); } 15*330d8983SJohannes Doerfert assert(r == sizeof("PASS\n") - 1 && "Incorrect number of bytes written"); 16*330d8983SJohannes Doerfert 17*330d8983SJohannes Doerfert // CHECK: PASS 18*330d8983SJohannes Doerfert #pragma omp target map(from : r) nowait 19*330d8983SJohannes Doerfert { r = fwrite("PASS\n", 1, 5, stdout); } 20*330d8983SJohannes Doerfert #pragma omp taskwait 21*330d8983SJohannes Doerfert assert(r == sizeof("PASS\n") - 1 && "Incorrect number of bytes written"); 22*330d8983SJohannes Doerfert } 23