forked from OSchip/llvm-project
[compiler-rt] Silence warnings when building with MSVC
Differential Revision: https://reviews.llvm.org/D116872
This commit is contained in:
parent
7c7d59a35d
commit
ae4c643bcd
|
@ -121,9 +121,12 @@ check_cxx_compiler_flag(-Wno-pedantic COMPILER_RT_HAS_WNO_PEDANTIC)
|
|||
check_cxx_compiler_flag(-Wno-format COMPILER_RT_HAS_WNO_FORMAT)
|
||||
check_cxx_compiler_flag(-Wno-format-pedantic COMPILER_RT_HAS_WNO_FORMAT_PEDANTIC)
|
||||
|
||||
check_cxx_compiler_flag("/experimental:external /external:W0" COMPILER_RT_HAS_EXTERNAL_FLAG)
|
||||
|
||||
check_cxx_compiler_flag(/W4 COMPILER_RT_HAS_W4_FLAG)
|
||||
check_cxx_compiler_flag(/WX COMPILER_RT_HAS_WX_FLAG)
|
||||
check_cxx_compiler_flag(/wd4146 COMPILER_RT_HAS_WD4146_FLAG)
|
||||
check_cxx_compiler_flag(/wd4206 COMPILER_RT_HAS_WD4206_FLAG)
|
||||
check_cxx_compiler_flag(/wd4291 COMPILER_RT_HAS_WD4291_FLAG)
|
||||
check_cxx_compiler_flag(/wd4221 COMPILER_RT_HAS_WD4221_FLAG)
|
||||
check_cxx_compiler_flag(/wd4391 COMPILER_RT_HAS_WD4391_FLAG)
|
||||
|
|
|
@ -90,6 +90,9 @@ set(ASAN_COMMON_DEFINITIONS ${COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION})
|
|||
|
||||
append_rtti_flag(OFF ASAN_CFLAGS)
|
||||
|
||||
# Silence warnings in system headers with MSVC.
|
||||
append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external /external:W0 /external:anglebrackets" ASAN_CFLAGS)
|
||||
|
||||
# Too many existing bugs, needs cleanup.
|
||||
append_list_if(COMPILER_RT_HAS_WNO_FORMAT -Wno-format ASAN_CFLAGS)
|
||||
|
||||
|
|
|
@ -56,6 +56,13 @@ INTERCEPT_WRAP_W_W(_expand_dbg)
|
|||
|
||||
// TODO(timurrrr): Do we need to add _Crt* stuff here? (see asan_malloc_win.cpp)
|
||||
|
||||
# if defined(_MSC_VER) && !defined(__clang__)
|
||||
// Disable warnings such as: 'void memchr(void)': incorrect number of arguments
|
||||
// for intrinsic function, expected '3' arguments.
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable : 4392)
|
||||
# endif
|
||||
|
||||
INTERCEPT_LIBRARY_FUNCTION(atoi);
|
||||
INTERCEPT_LIBRARY_FUNCTION(atol);
|
||||
INTERCEPT_LIBRARY_FUNCTION(frexp);
|
||||
|
@ -87,6 +94,10 @@ INTERCEPT_LIBRARY_FUNCTION(strtol);
|
|||
INTERCEPT_LIBRARY_FUNCTION(wcslen);
|
||||
INTERCEPT_LIBRARY_FUNCTION(wcsnlen);
|
||||
|
||||
# if defined(_MSC_VER) && !defined(__clang__)
|
||||
# pragma warning(pop)
|
||||
# endif
|
||||
|
||||
#ifdef _WIN64
|
||||
INTERCEPT_LIBRARY_FUNCTION(__C_specific_handler);
|
||||
#else
|
||||
|
|
|
@ -13,6 +13,10 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef __has_attribute
|
||||
#define __has_attribute(attr) 0
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_INIT_PRIORITY)
|
||||
#define CONSTRUCTOR_ATTRIBUTE __attribute__((__constructor__ 101))
|
||||
#elif __has_attribute(__constructor__)
|
||||
|
@ -37,10 +41,6 @@
|
|||
#include <intrin.h>
|
||||
#endif
|
||||
|
||||
#ifndef __has_attribute
|
||||
#define __has_attribute(attr) 0
|
||||
#endif
|
||||
|
||||
enum VendorSignatures {
|
||||
SIG_INTEL = 0x756e6547, // Genu
|
||||
SIG_AMD = 0x68747541, // Auth
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
// MSVC raises a warning about a nonstandard extension being used for the 0
|
||||
// sized element in this array. Disable this for warn-as-error builds.
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4206)
|
||||
#pragma warning(disable : 4200)
|
||||
#endif
|
||||
|
||||
typedef struct emutls_address_array {
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
// MSVC throws a warning about mod 0 here, disable it for builds that
|
||||
// warn-as-error
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4724)
|
||||
#pragma warning(disable : 4723 4724)
|
||||
#endif
|
||||
|
||||
COMPILER_RT_ABI du_int __udivmoddi4(du_int a, du_int b, du_int *rem) {
|
||||
|
|
|
@ -19,6 +19,9 @@ include_directories(..)
|
|||
set(INTERCEPTION_CFLAGS ${SANITIZER_COMMON_CFLAGS})
|
||||
append_rtti_flag(OFF INTERCEPTION_CFLAGS)
|
||||
|
||||
# Silence warnings in system headers with MSVC.
|
||||
append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external /external:W0 /external:anglebrackets" INTERCEPTION_CFLAGS)
|
||||
|
||||
add_compiler_rt_object_libraries(RTInterception
|
||||
OS ${SANITIZER_COMMON_SUPPORTED_OS}
|
||||
ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
|
||||
|
|
|
@ -80,7 +80,7 @@ set(PROFILE_HEADERS
|
|||
if(WIN32)
|
||||
list(APPEND PROFILE_SOURCES
|
||||
WindowsMMap.c
|
||||
)
|
||||
)
|
||||
endif()
|
||||
|
||||
include_directories(..)
|
||||
|
@ -120,6 +120,9 @@ string(REGEX REPLACE "-stdlib=[a-zA-Z+]*" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
|
|||
# nonstandard extension used : 'identifier' : cannot be initialized using address of automatic variable
|
||||
append_list_if(COMPILER_RT_HAS_WD4221_FLAG /wd4221 EXTRA_FLAGS)
|
||||
|
||||
# Disable 'nonstandard extension used: translation unit is empty'.
|
||||
append_list_if(COMPILER_RT_HAS_WD4206_FLAG /wd4206 EXTRA_FLAGS)
|
||||
|
||||
if(APPLE)
|
||||
add_compiler_rt_runtime(clang_rt.profile
|
||||
STATIC
|
||||
|
|
|
@ -234,6 +234,11 @@ static uptr *UncompressLzw(const u8 *from, const u8 *from_end, uptr *to,
|
|||
return to;
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
# pragma warning(push)
|
||||
// Disable 'nonstandard extension used: zero-sized array in struct/union'.
|
||||
# pragma warning(disable : 4200)
|
||||
#endif
|
||||
namespace {
|
||||
struct PackedHeader {
|
||||
uptr size;
|
||||
|
@ -241,6 +246,9 @@ struct PackedHeader {
|
|||
u8 data[];
|
||||
};
|
||||
} // namespace
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
uptr *StackStore::BlockInfo::GetOrUnpack(StackStore *store) {
|
||||
SpinMutexLock l(&mtx_);
|
||||
|
|
|
@ -55,6 +55,9 @@ set(UBSAN_CXXFLAGS ${SANITIZER_COMMON_CFLAGS})
|
|||
append_rtti_flag(ON UBSAN_CXXFLAGS)
|
||||
append_list_if(SANITIZER_CAN_USE_CXXABI -DUBSAN_CAN_USE_CXXABI UBSAN_CXXFLAGS)
|
||||
|
||||
# Silence warnings in system headers with MSVC.
|
||||
append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external /external:W0 /external:anglebrackets" UBSAN_CXXFLAGS)
|
||||
|
||||
set(UBSAN_LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS})
|
||||
|
||||
set(UBSAN_DYNAMIC_LIBS ${SANITIZER_CXX_ABI_LIBRARIES} ${SANITIZER_COMMON_LINK_LIBS})
|
||||
|
|
Loading…
Reference in New Issue