mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 05:40:09 +00:00
Revert 10f3296dd7
- [openmp] Fix warnings when building on Windows with latest MSVC or Clang ToT (#77853)
It broke the AMDGPU buildbot: https://lab.llvm.org/buildbot/#/builders/193/builds/45378
This commit is contained in:
parent
16df714e77
commit
94f960925b
@ -41,12 +41,3 @@ append_if(OPENMP_HAVE_WMAYBE_UNINITIALIZED_FLAG "-Wno-maybe-uninitialized" CMAKE
|
||||
append_if(OPENMP_HAVE_NO_SEMANTIC_INTERPOSITION "-fno-semantic-interposition" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
append_if(OPENMP_HAVE_FUNCTION_SECTIONS "-ffunction-section" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
append_if(OPENMP_HAVE_DATA_SECTIONS "-fdata-sections" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
|
||||
if (MSVC)
|
||||
# Disable "warning C4201: nonstandard extension used: nameless struct/union"
|
||||
append("-wd4201" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
|
||||
# Disable "warning C4190: '__kmpc_atomic_cmplx8_rd' has C-linkage specified, but returns
|
||||
# UDT '__kmp_cmplx64_t' which is incompatible with C"
|
||||
append("-wd4190" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
endif()
|
||||
|
@ -28,8 +28,6 @@
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
// The machine topology
|
||||
kmp_topology_t *__kmp_topology = nullptr;
|
||||
// KMP_HW_SUBSET environment variable
|
||||
@ -129,12 +127,8 @@ const char *__kmp_hw_get_catalog_string(kmp_hw_t type, bool plural) {
|
||||
return ((plural) ? KMP_I18N_STR(Threads) : KMP_I18N_STR(Thread));
|
||||
case KMP_HW_PROC_GROUP:
|
||||
return ((plural) ? KMP_I18N_STR(ProcGroups) : KMP_I18N_STR(ProcGroup));
|
||||
case KMP_HW_UNKNOWN:
|
||||
case KMP_HW_LAST:
|
||||
return KMP_I18N_STR(Unknown);
|
||||
}
|
||||
KMP_ASSERT2(false, "Unhandled kmp_hw_t enumeration");
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
return KMP_I18N_STR(Unknown);
|
||||
}
|
||||
|
||||
const char *__kmp_hw_get_keyword(kmp_hw_t type, bool plural) {
|
||||
@ -163,18 +157,13 @@ const char *__kmp_hw_get_keyword(kmp_hw_t type, bool plural) {
|
||||
return ((plural) ? "threads" : "thread");
|
||||
case KMP_HW_PROC_GROUP:
|
||||
return ((plural) ? "proc_groups" : "proc_group");
|
||||
case KMP_HW_UNKNOWN:
|
||||
case KMP_HW_LAST:
|
||||
return ((plural) ? "unknowns" : "unknown");
|
||||
}
|
||||
KMP_ASSERT2(false, "Unhandled kmp_hw_t enumeration");
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
return ((plural) ? "unknowns" : "unknown");
|
||||
}
|
||||
|
||||
const char *__kmp_hw_get_core_type_string(kmp_hw_core_type_t type) {
|
||||
switch (type) {
|
||||
case KMP_HW_CORE_TYPE_UNKNOWN:
|
||||
case KMP_HW_MAX_NUM_CORE_TYPES:
|
||||
return "unknown";
|
||||
#if KMP_ARCH_X86 || KMP_ARCH_X86_64
|
||||
case KMP_HW_CORE_TYPE_ATOM:
|
||||
@ -183,8 +172,7 @@ const char *__kmp_hw_get_core_type_string(kmp_hw_core_type_t type) {
|
||||
return "Intel(R) Core(TM) processor";
|
||||
#endif
|
||||
}
|
||||
KMP_ASSERT2(false, "Unhandled kmp_hw_core_type_t enumeration");
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
#if KMP_AFFINITY_SUPPORTED
|
||||
@ -1250,18 +1238,17 @@ bool kmp_topology_t::filter_hw_subset() {
|
||||
struct core_type_indexer {
|
||||
int operator()(const kmp_hw_thread_t &t) const {
|
||||
switch (t.attrs.get_core_type()) {
|
||||
case KMP_HW_CORE_TYPE_UNKNOWN:
|
||||
case KMP_HW_MAX_NUM_CORE_TYPES:
|
||||
return 0;
|
||||
#if KMP_ARCH_X86 || KMP_ARCH_X86_64
|
||||
case KMP_HW_CORE_TYPE_ATOM:
|
||||
return 1;
|
||||
case KMP_HW_CORE_TYPE_CORE:
|
||||
return 2;
|
||||
#endif
|
||||
case KMP_HW_CORE_TYPE_UNKNOWN:
|
||||
return 0;
|
||||
}
|
||||
KMP_ASSERT2(false, "Unhandled kmp_hw_thread_t enumeration");
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
KMP_ASSERT(0);
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
struct core_eff_indexer {
|
||||
|
@ -2403,11 +2403,11 @@ void __kmp_fork_barrier(int gtid, int tid) {
|
||||
#if USE_ITT_BUILD
|
||||
void *itt_sync_obj = NULL;
|
||||
#endif /* USE_ITT_BUILD */
|
||||
#ifdef KMP_DEBUG
|
||||
if (team)
|
||||
KA_TRACE(10, ("__kmp_fork_barrier: T#%d(%d:%d) has arrived\n", gtid,
|
||||
(team != NULL) ? team->t.t_id : -1, tid));
|
||||
#endif
|
||||
|
||||
KA_TRACE(10, ("__kmp_fork_barrier: T#%d(%d:%d) has arrived\n", gtid,
|
||||
(team != NULL) ? team->t.t_id : -1, tid));
|
||||
|
||||
// th_team pointer only valid for primary thread here
|
||||
if (KMP_MASTER_TID(tid)) {
|
||||
#if USE_ITT_BUILD && USE_ITT_NOTIFY
|
||||
|
@ -50,6 +50,24 @@ static HANDLE __kmp_stderr = NULL;
|
||||
static int __kmp_console_exists = FALSE;
|
||||
static kmp_str_buf_t __kmp_console_buf;
|
||||
|
||||
static int is_console(void) {
|
||||
char buffer[128];
|
||||
DWORD rc = 0;
|
||||
DWORD err = 0;
|
||||
// Try to get console title.
|
||||
SetLastError(0);
|
||||
// GetConsoleTitle does not reset last error in case of success or short
|
||||
// buffer, so we need to clear it explicitly.
|
||||
rc = GetConsoleTitle(buffer, sizeof(buffer));
|
||||
if (rc == 0) {
|
||||
// rc == 0 means getting console title failed. Let us find out why.
|
||||
err = GetLastError();
|
||||
// err == 0 means buffer too short (we suppose console exists).
|
||||
// In Window applications we usually have err == 6 (invalid handle).
|
||||
}
|
||||
return rc > 0 || err == 0;
|
||||
}
|
||||
|
||||
void __kmp_close_console(void) {
|
||||
/* wait until user presses return before closing window */
|
||||
/* TODO only close if a window was opened */
|
||||
@ -66,6 +84,7 @@ void __kmp_close_console(void) {
|
||||
static void __kmp_redirect_output(void) {
|
||||
__kmp_acquire_bootstrap_lock(&__kmp_console_lock);
|
||||
|
||||
(void)is_console;
|
||||
if (!__kmp_console_exists) {
|
||||
HANDLE ho;
|
||||
HANDLE he;
|
||||
|
@ -306,8 +306,6 @@ template <> struct traits_t<unsigned long long> {
|
||||
!KMP_MIC)
|
||||
|
||||
#if KMP_OS_WINDOWS
|
||||
// Don't include everything related to NT status code, we'll do that explicitly
|
||||
#define WIN32_NO_STATUS
|
||||
#include <windows.h>
|
||||
|
||||
static inline int KMP_GET_PAGE_SIZE(void) {
|
||||
|
@ -29,8 +29,6 @@
|
||||
#include "ompd-specific.h"
|
||||
#endif
|
||||
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
static int __kmp_env_toPrint(char const *name, int flag);
|
||||
|
||||
bool __kmp_env_format = 0; // 0 - old format; 1 - new format
|
||||
@ -875,10 +873,6 @@ static void __kmp_stg_print_wait_policy(kmp_str_buf_t *buffer, char const *name,
|
||||
case library_throughput: {
|
||||
value = "PASSIVE";
|
||||
} break;
|
||||
case library_none:
|
||||
case library_serial: {
|
||||
value = NULL;
|
||||
} break;
|
||||
}
|
||||
} else {
|
||||
switch (__kmp_library) {
|
||||
@ -891,9 +885,6 @@ static void __kmp_stg_print_wait_policy(kmp_str_buf_t *buffer, char const *name,
|
||||
case library_throughput: {
|
||||
value = "throughput";
|
||||
} break;
|
||||
case library_none: {
|
||||
value = NULL;
|
||||
} break;
|
||||
}
|
||||
}
|
||||
if (value != NULL) {
|
||||
@ -2013,7 +2004,6 @@ static inline const char *
|
||||
__kmp_hw_get_core_type_keyword(kmp_hw_core_type_t type) {
|
||||
switch (type) {
|
||||
case KMP_HW_CORE_TYPE_UNKNOWN:
|
||||
case KMP_HW_MAX_NUM_CORE_TYPES:
|
||||
return "unknown";
|
||||
#if KMP_ARCH_X86 || KMP_ARCH_X86_64
|
||||
case KMP_HW_CORE_TYPE_ATOM:
|
||||
@ -2022,8 +2012,7 @@ __kmp_hw_get_core_type_keyword(kmp_hw_core_type_t type) {
|
||||
return "intel_core";
|
||||
#endif
|
||||
}
|
||||
KMP_ASSERT2(false, "Unhandled kmp_hw_core_type_t enumeration");
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
#if KMP_AFFINITY_SUPPORTED
|
||||
@ -4439,10 +4428,6 @@ static void __kmp_stg_print_omp_schedule(kmp_str_buf_t *buffer,
|
||||
case kmp_sch_auto:
|
||||
__kmp_str_buf_print(buffer, "%s,%d'\n", "auto", __kmp_chunk);
|
||||
break;
|
||||
default:
|
||||
KMP_ASSERT2(false, "Unhandled sched_type enumeration");
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (sched) {
|
||||
@ -4468,10 +4453,6 @@ static void __kmp_stg_print_omp_schedule(kmp_str_buf_t *buffer,
|
||||
case kmp_sch_auto:
|
||||
__kmp_str_buf_print(buffer, "%s'\n", "auto");
|
||||
break;
|
||||
default:
|
||||
KMP_ASSERT2(false, "Unhandled sched_type enumeration");
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} // __kmp_stg_print_omp_schedule
|
||||
|
@ -20,8 +20,6 @@
|
||||
#include "ompt-specific.h"
|
||||
#endif
|
||||
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
/*!
|
||||
@defgroup WAIT_RELEASE Wait/Release operations
|
||||
|
||||
@ -1040,6 +1038,7 @@ static inline void __kmp_null_resume_wrapper(kmp_info_t *thr) {
|
||||
case flag_oncore:
|
||||
__kmp_resume_oncore(gtid, RCAST(kmp_flag_oncore *, flag));
|
||||
break;
|
||||
#ifdef KMP_DEBUG
|
||||
case flag_unset:
|
||||
KF_TRACE(100, ("__kmp_null_resume_wrapper: flag type %d is unset\n", type));
|
||||
break;
|
||||
@ -1047,7 +1046,7 @@ static inline void __kmp_null_resume_wrapper(kmp_info_t *thr) {
|
||||
KF_TRACE(100, ("__kmp_null_resume_wrapper: flag type %d does not match any "
|
||||
"known flag type\n",
|
||||
type));
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
number of running threads in the system. */
|
||||
|
||||
#include <ntsecapi.h> // UNICODE_STRING
|
||||
#undef WIN32_NO_STATUS
|
||||
#include <ntstatus.h>
|
||||
#include <psapi.h>
|
||||
#ifdef _MSC_VER
|
||||
@ -1636,7 +1635,7 @@ int __kmp_get_load_balance(int max) {
|
||||
// threads on all cores. So, we don't consider the running threads of this
|
||||
// process.
|
||||
if (pid != 0) {
|
||||
for (ULONG i = 0; i < num; ++i) {
|
||||
for (int i = 0; i < num; ++i) {
|
||||
THREAD_STATE state = spi->Threads[i].State;
|
||||
// Count threads that have Ready or Running state.
|
||||
// !!! TODO: Why comment does not match the code???
|
||||
|
Loading…
Reference in New Issue
Block a user