diff options
Diffstat (limited to 'final/libomptarget/test/offloading/offloading_success.cpp')
-rw-r--r-- | final/libomptarget/test/offloading/offloading_success.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/final/libomptarget/test/offloading/offloading_success.cpp b/final/libomptarget/test/offloading/offloading_success.cpp new file mode 100644 index 0000000..eecd97a --- /dev/null +++ b/final/libomptarget/test/offloading/offloading_success.cpp @@ -0,0 +1,23 @@ +// RUN: %libomptarget-compilexx-run-and-check-aarch64-unknown-linux-gnu +// RUN: %libomptarget-compilexx-run-and-check-powerpc64-ibm-linux-gnu +// RUN: %libomptarget-compilexx-run-and-check-powerpc64le-ibm-linux-gnu +// RUN: %libomptarget-compilexx-run-and-check-x86_64-pc-linux-gnu + +#include <stdio.h> +#include <omp.h> + +int main(void) { + int isHost = 0; + +#pragma omp target map(from: isHost) + { isHost = omp_is_initial_device(); } + + if (isHost < 0) { + printf("Runtime error, isHost=%d\n", isHost); + } + + // CHECK: Target region executed on the device + printf("Target region executed on the %s\n", isHost ? "host" : "device"); + + return isHost; +} |