aboutsummaryrefslogtreecommitdiff
path: root/final/libomptarget/test/offloading/offloading_success.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'final/libomptarget/test/offloading/offloading_success.cpp')
-rw-r--r--final/libomptarget/test/offloading/offloading_success.cpp23
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;
+}