// clang-format off
// RUN: mkdir -p %t.testdir
// RUN: %clang-generic -fPIC -shared %S/../Inputs/declare_indirect_func.c -o %t.testdir/libslfm.so  -fopenmp-version=51
// RUN: %libomptarget-compile-generic -rpath %t.testdir -L %t.testdir -l slfm -o %t  -fopenmp-version=51
// RUN: env LIBOMPTARGET_INFO=32 %t 2>&1 | %fcheck-generic
// UNSUPPORTED: intelgpu
// clang-format on

#include <stdio.h>

extern int func(void); // Provided in liba.so, returns 42
typedef int (*fp_t)(void);

int main() {
  int x = 0;
  fp_t fp = &func;
  printf("TARGET\n");
#pragma omp target map(from : x)
  x = fp();
  // CHECK: Copying data from device to host, {{.*}} Size=8
  // CHECK: Copying data from device to host, {{.*}} Size=4
  // CHECK: 42
  printf("%i\n", x);
}
