Index: clang/test/OpenMP/target_codegen_ref_assertion_vh.cpp =================================================================== --- /dev/null +++ clang/test/OpenMP/target_codegen_ref_assertion_vh.cpp @@ -0,0 +1,11 @@ +// 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 Index: llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h =================================================================== --- llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h +++ llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h @@ -1077,7 +1077,7 @@ /// + ".var" for "omp critical" directives; 2) /// + ".cache." for cache for threadprivate /// variables. - StringMap, BumpPtrAllocator> InternalVars; + StringMap InternalVars; /// Create the global variable holding the offload mappings information. GlobalVariable *createOffloadMaptypes(SmallVectorImpl &Mappings,