diff options
Diffstat (limited to 'contrib/llvm-project/openmp/runtime/src/kmp_ftn_entry.h')
-rw-r--r-- | contrib/llvm-project/openmp/runtime/src/kmp_ftn_entry.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/contrib/llvm-project/openmp/runtime/src/kmp_ftn_entry.h b/contrib/llvm-project/openmp/runtime/src/kmp_ftn_entry.h index b4b0dea0d1af..1eb1a0dc9813 100644 --- a/contrib/llvm-project/openmp/runtime/src/kmp_ftn_entry.h +++ b/contrib/llvm-project/openmp/runtime/src/kmp_ftn_entry.h @@ -78,7 +78,7 @@ void FTN_STDCALL FTN_SET_STACKSIZE_S(size_t KMP_DEREF arg) { int FTN_STDCALL FTN_GET_STACKSIZE(void) { #ifdef KMP_STUB - return __kmps_get_stacksize(); + return (int)__kmps_get_stacksize(); #else if (!__kmp_init_serial) { __kmp_serial_initialize(); @@ -551,8 +551,8 @@ int FTN_STDCALL KMP_EXPAND_NAME(FTN_GET_THREAD_NUM)(void) { } else { #endif if (!__kmp_init_parallel || - (gtid = (kmp_intptr_t)( - pthread_getspecific(__kmp_gtid_threadprivate_key))) == 0) { + (gtid = (int)((kmp_intptr_t)( + pthread_getspecific(__kmp_gtid_threadprivate_key)))) == 0) { return 0; } --gtid; @@ -628,7 +628,7 @@ void FTN_STDCALL KMP_EXPAND_NAME(FTN_SET_DYNAMIC)(int KMP_DEREF flag) { thread = __kmp_entry_thread(); // !!! What if foreign thread calls it? __kmp_save_internal_controls(thread); - set__dynamic(thread, KMP_DEREF flag ? TRUE : FALSE); + set__dynamic(thread, KMP_DEREF flag ? true : false); #endif } @@ -966,13 +966,15 @@ int FTN_STDCALL KMP_EXPAND_NAME(FTN_IS_INITIAL_DEVICE)(void) { int FTN_STDCALL FTN_GET_INITIAL_DEVICE(void) KMP_WEAK_ATTRIBUTE_EXTERNAL; int FTN_STDCALL FTN_GET_INITIAL_DEVICE(void) { #if KMP_MIC || KMP_OS_DARWIN || KMP_OS_WINDOWS || defined(KMP_STUB) - return KMP_HOST_DEVICE; + // same as omp_get_num_devices() + return 0; #else int (*fptr)(); if ((*(void **)(&fptr) = dlsym(RTLD_NEXT, "omp_get_initial_device"))) { return (*fptr)(); } else { // liboffload & libomptarget don't exist - return KMP_HOST_DEVICE; + // same as omp_get_num_devices() + return 0; } #endif } @@ -1319,14 +1321,14 @@ int FTN_STDCALL KMP_EXPAND_NAME(FTN_GET_MAX_TASK_PRIORITY)(void) { // loaded, we assume we are on the host and return KMP_HOST_DEVICE. // Compiler/libomptarget will handle this if called inside target. int FTN_STDCALL FTN_GET_DEVICE_NUM(void) KMP_WEAK_ATTRIBUTE_EXTERNAL; -int FTN_STDCALL FTN_GET_DEVICE_NUM(void) { return KMP_HOST_DEVICE; } +int FTN_STDCALL FTN_GET_DEVICE_NUM(void) { return FTN_GET_INITIAL_DEVICE(); } // Compiler will ensure that this is only called from host in sequential region int FTN_STDCALL FTN_PAUSE_RESOURCE(kmp_pause_status_t kind, int device_num) { #ifdef KMP_STUB return 1; // just fail #else - if (device_num == KMP_HOST_DEVICE) + if (device_num == FTN_GET_INITIAL_DEVICE()) return __kmpc_pause_resource(kind); else { #if !KMP_OS_WINDOWS |