llvm-project/clang/test/OpenMP/target_codegen_ref_assertion_vh.cpp
Johannes Doerfert 6133942796 [OpenMP][FIX] Remove AssertingVHs that outlive their values
The map with AssertingVHs has been moved into the OpenMPIRBuilder which extended their lifetime.
On NVIDIA this will cause an assertion. This simply removes the AssertingVH wrapper.
2022-12-07 18:27:55 -08:00

12 lines
597 B
C++

// REQUIRES: nvptx-registered-target
//
// Test target codegen - host bc file has to be created first.
// RUN: %clang_cc1 -verify -fopenmp -x c++ -triple powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm-bc %s -o %t-ppc-host.bc
// RUN: %clang_cc1 -verify -fopenmp -x c++ -triple nvptx64-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda %s -fopenmp-is-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o %t.final
// expected-no-diagnostics
#pragma omp begin declare target
constexpr int A[] = {1,2,3,4,5};
int f(int i) { return A[i]; }
#pragma omp end declare target