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