aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c/target-48.c
blob: 8e95c1c3ac38fdfa626270fa2c3ff235bfc0e8e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* Check OMP_TARGET_OFFLOAD on systems with no available non-host devices;
   omp_invalid_device == -4 with GCC.  */

/* { dg-do run { target { ! offload_device } } } */
/* { dg-set-target-env-var OMP_TARGET_OFFLOAD "mandatory" } */

/* { dg-output ".*OMP_DEFAULT_DEVICE = '-4'.*OMP_TARGET_OFFLOAD = 'MANDATORY'.*" } */

#include <omp.h>

int
main ()
{
  if (omp_get_default_device () != omp_invalid_device)
    __builtin_abort ();

  omp_set_default_device (omp_initial_device);

  /* The spec is a bit unclear whether the line above sets the device number
     (a) to -1 (= omp_initial_device) or
     (b) to omp_get_initial_device() == omp_get_num_devices(). Therefore,
     we accept either value.   */

  if (omp_get_default_device() != omp_get_initial_device()
      && omp_get_default_device() != omp_initial_device)
    __builtin_abort ();

  omp_display_env (0);

  return 0;
}