diff options
author | Alexandre Ganea <alex_toresh@yahoo.fr> | 2024-01-09 08:37:12 -0500 |
---|---|---|
committer | Alexandre Ganea <alex_toresh@yahoo.fr> | 2024-01-17 07:23:58 -0500 |
commit | 64874e5ab5fd102344d43ac9465537a44130bf19 (patch) | |
tree | 97e4b8e531e57744d6cfff247cb365fcf8454f32 /openmp | |
parent | 8ef7aaa637fbf1b0ae1ccfb102c081f58e22444d (diff) | |
download | llvm-64874e5ab5fd102344d43ac9465537a44130bf19.zip llvm-64874e5ab5fd102344d43ac9465537a44130bf19.tar.gz llvm-64874e5ab5fd102344d43ac9465537a44130bf19.tar.bz2 |
[openmp] Silence warnings when building the LLVM release with MSVC
Diffstat (limited to 'openmp')
-rw-r--r-- | openmp/runtime/src/kmp.h | 34 | ||||
-rw-r--r-- | openmp/runtime/src/kmp_affinity.cpp | 14 | ||||
-rw-r--r-- | openmp/runtime/src/kmp_atomic.h | 12 | ||||
-rw-r--r-- | openmp/runtime/src/kmp_barrier.cpp | 7 | ||||
-rw-r--r-- | openmp/runtime/src/kmp_dispatch.h | 8 | ||||
-rw-r--r-- | openmp/runtime/src/kmp_io.cpp | 3 | ||||
-rw-r--r-- | openmp/runtime/src/kmp_settings.cpp | 16 | ||||
-rw-r--r-- | openmp/runtime/src/kmp_wait_release.h | 2 | ||||
-rw-r--r-- | openmp/runtime/src/z_Windows_NT_util.cpp | 3 |
9 files changed, 84 insertions, 15 deletions
diff --git a/openmp/runtime/src/kmp.h b/openmp/runtime/src/kmp.h index c287a31..25fdb2f 100644 --- a/openmp/runtime/src/kmp.h +++ b/openmp/runtime/src/kmp.h @@ -502,6 +502,11 @@ static inline kmp_sched_t __kmp_sched_without_mods(kmp_sched_t kind) { } /* Type to keep runtime schedule set via OMP_SCHEDULE or omp_set_schedule() */ +#if KMP_COMPILER_MSVC +#pragma warning(push) +// warning C4201: nonstandard extension used: nameless struct/union +#pragma warning(disable : 4201) +#endif typedef union kmp_r_sched { struct { enum sched_type r_sched_type; @@ -509,6 +514,9 @@ typedef union kmp_r_sched { }; kmp_int64 sched; } kmp_r_sched_t; +#if KMP_COMPILER_MSVC +#pragma warning(pop) +#endif extern enum sched_type __kmp_sch_map[]; // map OMP 3.0 schedule types with our // internal schedule types @@ -602,6 +610,8 @@ typedef int PACKED_REDUCTION_METHOD_T; #pragma warning(push) #pragma warning(disable : 271 310) #endif +// Don't include everything related to NT status code, we'll do that explicitely +#define WIN32_NO_STATUS #include <windows.h> #if KMP_MSVC_COMPAT #pragma warning(pop) @@ -1897,12 +1907,20 @@ typedef struct KMP_ALIGN_CACHE dispatch_private_info32 { // Because of parm1-4 are used together, performance seems to be better // if they are on the same cache line (not measured though). +#if KMP_COMPILER_MSVC +#pragma warning(push) +// warning C4201: nonstandard extension used: nameless struct/union +#pragma warning(disable : 4201) +#endif struct KMP_ALIGN(32) { kmp_int32 parm1; kmp_int32 parm2; kmp_int32 parm3; kmp_int32 parm4; }; +#if KMP_COMPILER_MSVC +#pragma warning(pop) +#endif #if KMP_WEIGHTED_ITERATIONS_SUPPORTED kmp_uint32 pchunks; @@ -1936,12 +1954,20 @@ typedef struct KMP_ALIGN_CACHE dispatch_private_info64 { // b) all parm1-4 are in the same cache line. // Because of parm1-4 are used together, performance seems to be better // if they are in the same line (not measured though). +#if KMP_COMPILER_MSVC +#pragma warning(push) +// warning C4201: nonstandard extension used: nameless struct/union +#pragma warning(disable : 4201) +#endif struct KMP_ALIGN(32) { kmp_int64 parm1; kmp_int64 parm2; kmp_int64 parm3; kmp_int64 parm4; }; +#if KMP_COMPILER_MSVC +#pragma warning(pop) +#endif #if KMP_WEIGHTED_ITERATIONS_SUPPORTED kmp_uint64 pchunks; @@ -2223,6 +2249,11 @@ union KMP_ALIGN_CACHE kmp_barrier_union { typedef union kmp_barrier_union kmp_balign_t; +#if KMP_COMPILER_MSVC +#pragma warning(push) +// warning C4201: nonstandard extension used: nameless struct/union +#pragma warning(disable : 4201) +#endif /* Team barrier needs only non-volatile arrived counter */ union KMP_ALIGN_CACHE kmp_barrier_team_union { double b_align; /* use worst case alignment */ @@ -2239,6 +2270,9 @@ union KMP_ALIGN_CACHE kmp_barrier_team_union { #endif }; }; +#if KMP_COMPILER_MSVC +#pragma warning(pop) +#endif typedef union kmp_barrier_team_union kmp_balign_team_t; diff --git a/openmp/runtime/src/kmp_affinity.cpp b/openmp/runtime/src/kmp_affinity.cpp index 7009730..673b9f5 100644 --- a/openmp/runtime/src/kmp_affinity.cpp +++ b/openmp/runtime/src/kmp_affinity.cpp @@ -127,8 +127,9 @@ 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)); + default: + return KMP_I18N_STR(Unknown); } - return KMP_I18N_STR(Unknown); } const char *__kmp_hw_get_keyword(kmp_hw_t type, bool plural) { @@ -157,8 +158,9 @@ 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"); + default: + return ((plural) ? "unknowns" : "unknown"); } - return ((plural) ? "unknowns" : "unknown"); } const char *__kmp_hw_get_core_type_string(kmp_hw_core_type_t type) { @@ -171,8 +173,9 @@ const char *__kmp_hw_get_core_type_string(kmp_hw_core_type_t type) { case KMP_HW_CORE_TYPE_CORE: return "Intel(R) Core(TM) processor"; #endif + default: + return "unknown"; } - return "unknown"; } #if KMP_AFFINITY_SUPPORTED @@ -1246,9 +1249,10 @@ bool kmp_topology_t::filter_hw_subset() { #endif case KMP_HW_CORE_TYPE_UNKNOWN: return 0; + default: + KMP_ASSERT(0); + return 0; } - KMP_ASSERT(0); - return 0; } }; struct core_eff_indexer { diff --git a/openmp/runtime/src/kmp_atomic.h b/openmp/runtime/src/kmp_atomic.h index 4fc51ee4..1cf1701 100644 --- a/openmp/runtime/src/kmp_atomic.h +++ b/openmp/runtime/src/kmp_atomic.h @@ -1029,6 +1029,14 @@ void __kmpc_atomic_cmplx4_rd(kmp_cmplx32 *out, ident_t *id_ref, int gtid, kmp_cmplx32 __kmpc_atomic_cmplx4_rd(ident_t *id_ref, int gtid, kmp_cmplx32 *loc); #endif + +#if KMP_COMPILER_MSVC +#pragma warning(push) +// warning C4190: '__kmpc_atomic_cmplx8_rd' has C-linkage specified, but returns +// UDT '__kmp_cmplx64_t' which is incompatible with C +#pragma warning(disable : 4190) +#endif + kmp_cmplx64 __kmpc_atomic_cmplx8_rd(ident_t *id_ref, int gtid, kmp_cmplx64 *loc); kmp_cmplx80 __kmpc_atomic_cmplx10_rd(ident_t *id_ref, int gtid, @@ -1589,6 +1597,10 @@ kmp_cmplx128_a16_t __kmpc_atomic_cmplx16_a16_swp(ident_t *id_ref, int gtid, #endif #endif +#if KMP_COMPILER_MSVC +#pragma warning(pop) +#endif + // Capture routines for mixed types (RHS=float16) #if KMP_HAVE_QUAD diff --git a/openmp/runtime/src/kmp_barrier.cpp b/openmp/runtime/src/kmp_barrier.cpp index 281b8e9..c58eb27 100644 --- a/openmp/runtime/src/kmp_barrier.cpp +++ b/openmp/runtime/src/kmp_barrier.cpp @@ -2405,9 +2405,10 @@ void __kmp_fork_barrier(int gtid, int tid) { #endif /* USE_ITT_BUILD */ if (team) - KA_TRACE(10, ("__kmp_fork_barrier: T#%d(%d:%d) has arrived\n", gtid, - (team != NULL) ? team->t.t_id : -1, tid)); - +#ifdef KMP_DEBUG + KA_TRACE(10, ("__kmp_fork_barrier: T#%d(%d:%d) has arrived\n", gtid, + (team != NULL) ? team->t.t_id : -1, tid)); +#endif // th_team pointer only valid for primary thread here if (KMP_MASTER_TID(tid)) { #if USE_ITT_BUILD && USE_ITT_NOTIFY diff --git a/openmp/runtime/src/kmp_dispatch.h b/openmp/runtime/src/kmp_dispatch.h index cf19eb5..340fe57 100644 --- a/openmp/runtime/src/kmp_dispatch.h +++ b/openmp/runtime/src/kmp_dispatch.h @@ -81,6 +81,11 @@ template <typename T> struct dispatch_private_infoXX_template { /* parm[1-4] are used in different ways by different scheduling algorithms */ +#if KMP_COMPILER_MSVC +#pragma warning(push) +// warning C4201: nonstandard extension used: nameless struct/union +#pragma warning(disable : 4201) +#endif // KMP_ALIGN(32) ensures ( if the KMP_ALIGN macro is turned on ) // a) parm3 is properly aligned and // b) all parm1-4 are in the same cache line. @@ -92,6 +97,9 @@ template <typename T> struct dispatch_private_infoXX_template { T parm3; T parm4; }; +#if KMP_COMPILER_MSVC +#pragma warning(pop) +#endif #if KMP_WEIGHTED_ITERATIONS_SUPPORTED UT pchunks; // total number of chunks for processes with p-core diff --git a/openmp/runtime/src/kmp_io.cpp b/openmp/runtime/src/kmp_io.cpp index 578e6e6..421bfe7 100644 --- a/openmp/runtime/src/kmp_io.cpp +++ b/openmp/runtime/src/kmp_io.cpp @@ -50,6 +50,7 @@ static HANDLE __kmp_stderr = NULL; static int __kmp_console_exists = FALSE; static kmp_str_buf_t __kmp_console_buf; +#if 0 static int is_console(void) { char buffer[128]; DWORD rc = 0; @@ -67,6 +68,7 @@ static int is_console(void) { } return rc > 0 || err == 0; } +#endif void __kmp_close_console(void) { /* wait until user presses return before closing window */ @@ -84,7 +86,6 @@ 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; diff --git a/openmp/runtime/src/kmp_settings.cpp b/openmp/runtime/src/kmp_settings.cpp index 30a4c05..6ee9a89 100644 --- a/openmp/runtime/src/kmp_settings.cpp +++ b/openmp/runtime/src/kmp_settings.cpp @@ -873,6 +873,10 @@ 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) { @@ -885,6 +889,9 @@ 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) { @@ -2003,16 +2010,15 @@ static void __kmp_stg_print_foreign_threads_threadprivate(kmp_str_buf_t *buffer, static inline const char * __kmp_hw_get_core_type_keyword(kmp_hw_core_type_t type) { switch (type) { - case KMP_HW_CORE_TYPE_UNKNOWN: - return "unknown"; #if KMP_ARCH_X86 || KMP_ARCH_X86_64 case KMP_HW_CORE_TYPE_ATOM: return "intel_atom"; case KMP_HW_CORE_TYPE_CORE: return "intel_core"; #endif + default: + return "unknown"; } - return "unknown"; } #if KMP_AFFINITY_SUPPORTED @@ -4428,6 +4434,8 @@ 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: + break; } } else { switch (sched) { @@ -4453,6 +4461,8 @@ 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: + break; } } } // __kmp_stg_print_omp_schedule diff --git a/openmp/runtime/src/kmp_wait_release.h b/openmp/runtime/src/kmp_wait_release.h index 3fcae56..36a28e6 100644 --- a/openmp/runtime/src/kmp_wait_release.h +++ b/openmp/runtime/src/kmp_wait_release.h @@ -1038,7 +1038,6 @@ 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; @@ -1046,7 +1045,6 @@ 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)); -#endif } } diff --git a/openmp/runtime/src/z_Windows_NT_util.cpp b/openmp/runtime/src/z_Windows_NT_util.cpp index 9e264ab..d75b48b 100644 --- a/openmp/runtime/src/z_Windows_NT_util.cpp +++ b/openmp/runtime/src/z_Windows_NT_util.cpp @@ -22,6 +22,7 @@ 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 @@ -1635,7 +1636,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 (int i = 0; i < num; ++i) { + for (ULONG 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??? |