diff --git a/openmp/libomptarget/DeviceRTL/src/Configuration.cpp b/openmp/libomptarget/DeviceRTL/src/Configuration.cpp index 5deee9c53926e..809c5f03886b0 100644 --- a/openmp/libomptarget/DeviceRTL/src/Configuration.cpp +++ b/openmp/libomptarget/DeviceRTL/src/Configuration.cpp @@ -20,10 +20,10 @@ using namespace ompx; #pragma omp begin declare target device_type(nohost) -// defined by CGOpenMPRuntimeGPU -extern uint32_t __omp_rtl_debug_kind; -extern uint32_t __omp_rtl_assume_no_thread_state; -extern uint32_t __omp_rtl_assume_no_nested_parallelism; +// Weak definitions will be overridden by CGOpenmpRuntimeGPU if enabled. +[[gnu::weak]] extern const uint32_t __omp_rtl_debug_kind = 0; +[[gnu::weak]] extern const uint32_t __omp_rtl_assume_no_thread_state = 0; +[[gnu::weak]] extern const uint32_t __omp_rtl_assume_no_nested_parallelism = 0; // This variable should be visibile to the plugin so we override the default // hidden visibility. diff --git a/openmp/libomptarget/DeviceRTL/src/exports b/openmp/libomptarget/DeviceRTL/src/exports index 2d13195aa7dc8..fbcda3ce8f555 100644 --- a/openmp/libomptarget/DeviceRTL/src/exports +++ b/openmp/libomptarget/DeviceRTL/src/exports @@ -3,6 +3,10 @@ ompx_* *llvm_* __kmpc_* +__omp_rtl_debug_kind +__omp_rtl_assume_no_thread_state +__omp_rtl_assume_no_nested_parallelism + _ZN4ompx* IsSPMDMode