xref: /llvm-project/offload/test/offloading/runtime_init.c (revision 330d8983d25d08580fc1642fea48b2473f47a9da)
1 // RUN: %libomptarget-compile-generic
2 // RUN:   env LIBOMPTARGET_DEBUG=1 %libomptarget-run-generic 2>&1 \
3 // RUN: %fcheck-generic
4 
5 // REQUIRES: libomptarget-debug
6 
7 #include <omp.h>
8 #include <stdio.h>
9 
10 extern void __tgt_rtl_init(void);
11 extern void __tgt_rtl_deinit(void);
12 
13 // Sanity checks to make sure that this works and is thread safe.
main()14 int main() {
15   // CHECK: Init offload library!
16   // CHECK: Deinit offload library!
17   __tgt_rtl_init();
18 #pragma omp parallel num_threads(8)
19   {
20     __tgt_rtl_init();
21     __tgt_rtl_deinit();
22   }
23   __tgt_rtl_deinit();
24 
25   __tgt_rtl_init();
26   __tgt_rtl_deinit();
27 
28   // CHECK: PASS
29   printf("PASS\n");
30 }
31