blob: c18a724930f41e5fa8eb81b35d2b2eaef43d4502 [file] [log] [blame]
// RUN: %libomptarget-compile-run-and-check-generic
// REQUIRES: libc
#include <stdio.h>
#include <stdlib.h>
#pragma omp declare target to(malloc)
#pragma omp declare target to(free)
int main() {
unsigned h_x;
unsigned *d_x;
#pragma omp target map(from : d_x)
{
d_x = malloc(sizeof(unsigned));
*d_x = 1;
}
#pragma omp target is_device_ptr(d_x) map(from : h_x)
{ h_x = *d_x; }
#pragma omp target is_device_ptr(d_x)
{ free(d_x); }
// CHECK: PASS
if (h_x == 1)
fputs("PASS\n", stdout);
}