// Check that mandatory offloading causes various offloading directives to fail
// when omp_get_num_devices() == 0 even if the requested device is the initial
// device.  This behavior is proposed for OpenMP 5.2 in OpenMP spec github
// issue 2669.

// RUN: %libomptarget-compile-nvptx64-nvidia-cuda -DDIR=target
// RUN: env OMP_TARGET_OFFLOAD=mandatory CUDA_VISIBLE_DEVICES= \
// RUN:   %libomptarget-run-fail-nvptx64-nvidia-cuda 2>&1 | \
// RUN:   %fcheck-nvptx64-nvidia-cuda

// RUN: %libomptarget-compile-nvptx64-nvidia-cuda -DDIR='target teams'
// RUN: env OMP_TARGET_OFFLOAD=mandatory CUDA_VISIBLE_DEVICES= \
// RUN:   %libomptarget-run-fail-nvptx64-nvidia-cuda 2>&1 | \
// RUN:   %fcheck-nvptx64-nvidia-cuda

// RUN: %libomptarget-compile-nvptx64-nvidia-cuda -DDIR='target data map(X)'
// RUN: env OMP_TARGET_OFFLOAD=mandatory CUDA_VISIBLE_DEVICES= \
// RUN:   %libomptarget-run-fail-nvptx64-nvidia-cuda 2>&1 | \
// RUN:   %fcheck-nvptx64-nvidia-cuda

// RUN: %libomptarget-compile-nvptx64-nvidia-cuda \
// RUN:   -DDIR='target enter data map(to:X)'
// RUN: env OMP_TARGET_OFFLOAD=mandatory CUDA_VISIBLE_DEVICES= \
// RUN:   %libomptarget-run-fail-nvptx64-nvidia-cuda 2>&1 | \
// RUN:   %fcheck-nvptx64-nvidia-cuda

// RUN: %libomptarget-compile-nvptx64-nvidia-cuda \
// RUN:   -DDIR='target exit data map(from:X)'
// RUN: env OMP_TARGET_OFFLOAD=mandatory CUDA_VISIBLE_DEVICES= \
// RUN:   %libomptarget-run-fail-nvptx64-nvidia-cuda 2>&1 | \
// RUN:   %fcheck-nvptx64-nvidia-cuda

// RUN: %libomptarget-compile-nvptx64-nvidia-cuda \
// RUN:   -DDIR='target update to(X)'
// RUN: env OMP_TARGET_OFFLOAD=mandatory CUDA_VISIBLE_DEVICES= \
// RUN:   %libomptarget-run-fail-nvptx64-nvidia-cuda 2>&1 | \
// RUN:   %fcheck-nvptx64-nvidia-cuda

// RUN: %libomptarget-compile-nvptx64-nvidia-cuda \
// RUN:   -DDIR='target update from(X)'
// RUN: env OMP_TARGET_OFFLOAD=mandatory CUDA_VISIBLE_DEVICES= \
// RUN:   %libomptarget-run-fail-nvptx64-nvidia-cuda 2>&1 | \
// RUN:   %fcheck-nvptx64-nvidia-cuda

// REQUIRES: nvptx64-nvidia-cuda

#include <omp.h>
#include <stdio.h>

// CHECK: Libomptarget fatal error 1: failure of target construct while offloading is mandatory
int main(void) {
  int X;
  #pragma omp DIR device(omp_get_initial_device())
  ;
  return 0;
}
