39 lines · cpp
1// clang-format off2// RUN: %libomptarget-compileoptxx-generic3// RUN: %not --crash env -u LLVM_DISABLE_SYMBOLIZATION OFFLOAD_TRACK_ALLOCATION_TRACES=1 %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefixes=CHECK,NDEBG4// RUN: %libomptarget-compileoptxx-generic -g5// RUN: %not --crash env -u LLVM_DISABLE_SYMBOLIZATION OFFLOAD_TRACK_ALLOCATION_TRACES=1 %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefixes=CHECK,DEBUG6// clang-format on7 8// UNSUPPORTED: aarch64-unknown-linux-gnu9// UNSUPPORTED: aarch64-unknown-linux-gnu-LTO10// UNSUPPORTED: x86_64-unknown-linux-gnu11// UNSUPPORTED: x86_64-unknown-linux-gnu-LTO12// UNSUPPORTED: s390x-ibm-linux-gnu13// UNSUPPORTED: s390x-ibm-linux-gnu-LTO14 15#include <omp.h>16 17extern "C" {18void *llvm_omp_target_alloc_shared(size_t Size, int DeviceNum);19void llvm_omp_target_free_host(void *Ptr, int DeviceNum);20}21 22int main(void) {23 void *P = llvm_omp_target_alloc_shared(8, 0);24 llvm_omp_target_free_host(P, 0);25}26 27// clang-format off28// CHECK: OFFLOAD ERROR: deallocation requires pinned host memory but allocation was managed memory: 0x29// CHECK: dataDelete30// CHECK: llvm_omp_target_free_host31// NDEBG: main32// DEBUG: main {{.*}}free_wrong_ptr_kind.cpp:2533//34// CHECK: Last allocation of size 8 -> device pointer35// CHECK: dataAlloc36// CHECK: llvm_omp_target_alloc_shared37// NDEBG: main38// DEBUG: main {{.*}}free_wrong_ptr_kind.cpp:2439