• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %libomptarget-compile-run-and-check-aarch64-unknown-linux-gnu
2 // RUN: %libomptarget-compile-run-and-check-powerpc64-ibm-linux-gnu
3 // RUN: %libomptarget-compile-run-and-check-powerpc64le-ibm-linux-gnu
4 // RUN: %libomptarget-compile-run-and-check-x86_64-pc-linux-gnu
5 // RUN: %libomptarget-compile-run-and-check-nvptx64-nvidia-cuda
6 
7 #include <stdio.h>
8 #include <omp.h>
9 
main(void)10 int main(void) {
11   int isHost = -1;
12 
13 #pragma omp target map(from: isHost)
14   { isHost = omp_is_initial_device(); }
15 
16   if (isHost < 0) {
17     printf("Runtime error, isHost=%d\n", isHost);
18   }
19 
20   // CHECK: Target region executed on the device
21   printf("Target region executed on the %s\n", isHost ? "host" : "device");
22 
23   return isHost;
24 }
25