// RUN: %libomptarget-compilexx-generic && \
// RUN:   env LIBOMPTARGET_STACK_SIZE=2048 %libomptarget-run-generic
// RUN: %libomptarget-compileoptxx-generic && \
// RUN:   env LIBOMPTARGET_STACK_SIZE=2048 %libomptarget-run-generic

// We need malloc/global_alloc support
// UNSUPPORTED: amdgcn-amd-amdhsa

#include <cassert>
#include <iostream>

void work(int *C) {
#pragma omp atomic
  ++(*C);
}

void use(int *C) {
#pragma omp parallel num_threads(2)
  work(C);
}

int main() {
  int C = 0;
#pragma omp target map(C)
  {
    use(&C);
#pragma omp parallel num_threads(2)
    use(&C);
  }

  assert(C >= 2 && C <= 6);

  std::cout << "PASS\n";

  return 0;
}

// CHECK: PASS
