47 lines · c
1// clang-format off2// RUN: %libomptarget-compile-generic3// RUN: %not --crash env -u LLVM_DISABLE_SYMBOLIZATION OFFLOAD_TRACK_NUM_KERNEL_LAUNCH_TRACES=1 %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefixes=TRACE,NDEBG4// RUN: %not --crash %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefixes=CHECK5// RUN: %libomptarget-compile-generic -g6// RUN: %not --crash env -u LLVM_DISABLE_SYMBOLIZATION OFFLOAD_TRACK_NUM_KERNEL_LAUNCH_TRACES=1 %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefixes=TRACE,DEBUG7// RUN: %not --crash %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefixes=CHECK8// clang-format on9 10// UNSUPPORTED: nvptx64-nvidia-cuda11// UNSUPPORTED: nvptx64-nvidia-cuda-LTO12// UNSUPPORTED: aarch64-unknown-linux-gnu13// UNSUPPORTED: aarch64-unknown-linux-gnu-LTO14// UNSUPPORTED: x86_64-unknown-linux-gnu15// UNSUPPORTED: x86_64-unknown-linux-gnu-LTO16// UNSUPPORTED: s390x-ibm-linux-gnu17// UNSUPPORTED: s390x-ibm-linux-gnu-LTO18 19#include <omp.h>20 21int main(void) {22 int *A = 0;23#pragma omp target24 {25 }26#pragma omp target27 {28 }29#pragma omp target30 {31 *A = 42;32 }33#pragma omp target34 {35 }36}37// TRACE: Display 1 of the 3 last kernel launch traces38// TRACE: Kernel 0: {{.*}} (__omp_offloading_{{.*}}_main_l29)39// TRACE: launchKernel40// NDEBG: main41// DEBUG: main {{.*}}kernel_crash.c:2942//43// CHECK: Display last 3 kernels launched:44// CHECK: Kernel 0: {{.*}} (__omp_offloading_{{.*}}_main_l29)45// CHECK: Kernel 1: {{.*}} (__omp_offloading_{{.*}}_main_l26)46// CHECK: Kernel 2: {{.*}} (__omp_offloading_{{.*}}_main_l23)47