summaryrefslogtreecommitdiff
path: root/offload/test/offloading/runtime_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'offload/test/offloading/runtime_init.c')
-rw-r--r--offload/test/offloading/runtime_init.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/offload/test/offloading/runtime_init.c b/offload/test/offloading/runtime_init.c
new file mode 100644
index 000000000000..96fd50f51da1
--- /dev/null
+++ b/offload/test/offloading/runtime_init.c
@@ -0,0 +1,30 @@
+// RUN: %libomptarget-compile-generic
+// RUN: env LIBOMPTARGET_DEBUG=1 %libomptarget-run-generic 2>&1 \
+// RUN: %fcheck-generic
+
+// REQUIRES: libomptarget-debug
+
+#include <omp.h>
+#include <stdio.h>
+
+extern void __tgt_rtl_init(void);
+extern void __tgt_rtl_deinit(void);
+
+// Sanity checks to make sure that this works and is thread safe.
+int main() {
+ // CHECK: Init offload library!
+ // CHECK: Deinit offload library!
+ __tgt_rtl_init();
+#pragma omp parallel num_threads(8)
+ {
+ __tgt_rtl_init();
+ __tgt_rtl_deinit();
+ }
+ __tgt_rtl_deinit();
+
+ __tgt_rtl_init();
+ __tgt_rtl_deinit();
+
+ // CHECK: PASS
+ printf("PASS\n");
+}