brintos

brintos / llvm-project-archived public Read only

0
0
Text · 591 B · 0f4499d Raw
30 lines · c
1// RUN: %libomptarget-compile-run-and-check-generic2 3// UNSUPPORTED: nvidiagpu4// UNSUPPORTED: amdgpu5 6#include <assert.h>7#include <omp.h>8#include <stdio.h>9 10int main() {11#pragma omp target12  {13    int *ptr;14#pragma omp allocate(ptr) allocator(omp_default_mem_alloc)15    ptr = omp_alloc(sizeof(int), omp_default_mem_alloc);16    assert(ptr && "Ptr is (null)!");17    *ptr = 0;18#pragma omp parallel num_threads(32)19    {20#pragma omp atomic21      *ptr += 1;22    }23    assert(*ptr == 32 && "Ptr is not 32");24    omp_free(ptr, omp_default_mem_alloc);25  }26 27  // CHECK: PASS28  printf("PASS\n");29}30