From 91e851a9917691c868bf5abb67e14f4a21af0f8f Mon Sep 17 00:00:00 2001 From: MerryMage Date: Thu, 15 Dec 2016 20:51:42 +0000 Subject: [PATCH] CMakeLists: Enable /W4 on MSVC --- CMakeLists.txt | 4 ++-- src/backend_x64/hostloc.h | 2 ++ src/backend_x64/jitstate.h | 1 + tests/skyeye_interpreter/dyncom/arm_dyncom_interpreter.cpp | 2 ++ tests/skyeye_interpreter/skyeye_common/armstate.cpp | 2 ++ tests/skyeye_interpreter/skyeye_common/vfp/vfp.cpp | 2 ++ tests/skyeye_interpreter/skyeye_common/vfp/vfpdouble.cpp | 2 ++ tests/skyeye_interpreter/skyeye_common/vfp/vfpsingle.cpp | 2 ++ 8 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 42067c1a..75ada748 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,9 +26,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) # Compiler flags if (MSVC) - add_compile_options(/W3 + add_compile_options(/W4 /w34263 # Non-virtual member function hides base class virtual function - /w34265 # Class has virtual functions, but destructor is not virtual + /w44265 # Class has virtual functions, but destructor is not virtual /w34456 # Declaration of 'var' hides previous local declaration /w34457 # Declaration of 'var' hides function parameter /w34458 # Declaration of 'var' hides class member diff --git a/src/backend_x64/hostloc.h b/src/backend_x64/hostloc.h index 97e09f52..d29c73a7 100644 --- a/src/backend_x64/hostloc.h +++ b/src/backend_x64/hostloc.h @@ -54,6 +54,7 @@ using HostLocList = std::initializer_list; // RSP is preserved for function calls // R15 contains the JitState pointer +#pragma warning (suppress : 4592) // Symbol will be dynamically initialized (implementation limitation) const HostLocList any_gpr = { HostLoc::RAX, HostLoc::RBX, @@ -71,6 +72,7 @@ const HostLocList any_gpr = { HostLoc::R14, }; +#pragma warning (suppress : 4592) // Symbol will be dynamically initialized (implementation limitation) const HostLocList any_xmm = { HostLoc::XMM0, HostLoc::XMM1, diff --git a/src/backend_x64/jitstate.h b/src/backend_x64/jitstate.h index 1dc11b02..d3bd7039 100644 --- a/src/backend_x64/jitstate.h +++ b/src/backend_x64/jitstate.h @@ -24,6 +24,7 @@ struct JitState { std::array Reg{}; // Current register file. // TODO: Mode-specific register sets unimplemented. + #pragma warning (suppress : 4324) // Structure was padded due to alignment specifier alignas(u64) std::array ExtReg{}; // Extension registers. std::array Spill{}; // Spill. diff --git a/tests/skyeye_interpreter/dyncom/arm_dyncom_interpreter.cpp b/tests/skyeye_interpreter/dyncom/arm_dyncom_interpreter.cpp index 732d1ddf..e630162d 100644 --- a/tests/skyeye_interpreter/dyncom/arm_dyncom_interpreter.cpp +++ b/tests/skyeye_interpreter/dyncom/arm_dyncom_interpreter.cpp @@ -4,6 +4,8 @@ #define CITRA_IGNORE_EXIT(x) +#pragma warning(disable : 4244) + #include #include diff --git a/tests/skyeye_interpreter/skyeye_common/armstate.cpp b/tests/skyeye_interpreter/skyeye_common/armstate.cpp index 3c7678de..d4f6d445 100644 --- a/tests/skyeye_interpreter/skyeye_common/armstate.cpp +++ b/tests/skyeye_interpreter/skyeye_common/armstate.cpp @@ -2,6 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#pragma warning(disable : 4244) + #include #include "common/assert.h" #include "skyeye_interpreter/skyeye_common/armstate.h" diff --git a/tests/skyeye_interpreter/skyeye_common/vfp/vfp.cpp b/tests/skyeye_interpreter/skyeye_common/vfp/vfp.cpp index 8b9fbcbe..11486438 100644 --- a/tests/skyeye_interpreter/skyeye_common/vfp/vfp.cpp +++ b/tests/skyeye_interpreter/skyeye_common/vfp/vfp.cpp @@ -20,6 +20,8 @@ /* Note: this file handles interface with arm core and vfp registers */ +#pragma warning(disable : 4100) + #include "common/assert.h" //#include "common/common_funcs.h" #include "common/common_types.h" diff --git a/tests/skyeye_interpreter/skyeye_common/vfp/vfpdouble.cpp b/tests/skyeye_interpreter/skyeye_common/vfp/vfpdouble.cpp index 03979b2d..eb196cb6 100644 --- a/tests/skyeye_interpreter/skyeye_common/vfp/vfpdouble.cpp +++ b/tests/skyeye_interpreter/skyeye_common/vfp/vfpdouble.cpp @@ -51,6 +51,8 @@ * =========================================================================== */ +#pragma warning(disable : 4100 4244 4245) + #include //#include "common/logging/log.h" #include "skyeye_interpreter/skyeye_common/vfp/vfp.h" diff --git a/tests/skyeye_interpreter/skyeye_common/vfp/vfpsingle.cpp b/tests/skyeye_interpreter/skyeye_common/vfp/vfpsingle.cpp index 03a881df..db6c7aac 100644 --- a/tests/skyeye_interpreter/skyeye_common/vfp/vfpsingle.cpp +++ b/tests/skyeye_interpreter/skyeye_common/vfp/vfpsingle.cpp @@ -51,6 +51,8 @@ * =========================================================================== */ +#pragma warning(disable : 4100 4244 4245) + #include #include #include