xref: /llvm-project/offload/test/api/omp_get_num_devices.c (revision 330d8983d25d08580fc1642fea48b2473f47a9da)
1*330d8983SJohannes Doerfert // RUN: %libomptarget-compile-run-and-check-generic
2*330d8983SJohannes Doerfert 
3*330d8983SJohannes Doerfert #include <omp.h>
4*330d8983SJohannes Doerfert #include <stdio.h>
5*330d8983SJohannes Doerfert 
test_omp_get_num_devices()6*330d8983SJohannes Doerfert int test_omp_get_num_devices() {
7*330d8983SJohannes Doerfert   /* checks that omp_get_num_devices() > 0 */
8*330d8983SJohannes Doerfert   int num_devices = omp_get_num_devices();
9*330d8983SJohannes Doerfert   printf("num_devices = %d\n", num_devices);
10*330d8983SJohannes Doerfert 
11*330d8983SJohannes Doerfert #pragma omp target
12*330d8983SJohannes Doerfert   {}
13*330d8983SJohannes Doerfert 
14*330d8983SJohannes Doerfert   return (num_devices > 0);
15*330d8983SJohannes Doerfert }
16*330d8983SJohannes Doerfert 
main()17*330d8983SJohannes Doerfert int main() {
18*330d8983SJohannes Doerfert   int i;
19*330d8983SJohannes Doerfert   int failed = 0;
20*330d8983SJohannes Doerfert 
21*330d8983SJohannes Doerfert   if (!test_omp_get_num_devices()) {
22*330d8983SJohannes Doerfert     failed++;
23*330d8983SJohannes Doerfert   }
24*330d8983SJohannes Doerfert   if (failed)
25*330d8983SJohannes Doerfert     printf("FAIL\n");
26*330d8983SJohannes Doerfert   else
27*330d8983SJohannes Doerfert     printf("PASS\n");
28*330d8983SJohannes Doerfert   return failed;
29*330d8983SJohannes Doerfert }
30*330d8983SJohannes Doerfert 
31*330d8983SJohannes Doerfert // CHECK: PASS
32