Browse Source
Merge pull request #11434 from danilaml/fix-warnings
msvc: set warning level to /W4 globally
pull/15/merge
liamwhite
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with
17 additions and
20 deletions
-
src/CMakeLists.txt
-
src/audio_core/audio_event.cpp
-
src/common/CMakeLists.txt
-
src/core/hle/kernel/k_capabilities.cpp
-
src/core/hle/service/nvdrv/core/nvmap.cpp
-
src/core/hle/service/ssl/ssl_backend_schannel.cpp
-
src/dedicated_room/yuzu_room.cpp
-
src/input_common/CMakeLists.txt
-
src/network/room.cpp
-
src/shader_recompiler/CMakeLists.txt
-
src/tests/common/ring_buffer.cpp
-
src/yuzu/configuration/shared_widget.cpp
-
src/yuzu_cmd/yuzu.cpp
|
|
|
@ -24,7 +24,7 @@ if (MSVC) |
|
|
|
# Ensure that projects build with Unicode support. |
|
|
|
add_definitions(-DUNICODE -D_UNICODE) |
|
|
|
|
|
|
|
# /W3 - Level 3 warnings |
|
|
|
# /W4 - Level 4 warnings |
|
|
|
# /MP - Multi-threaded compilation |
|
|
|
# /Zi - Output debugging information |
|
|
|
# /Zm - Specifies the precompiled header memory allocation limit |
|
|
|
@ -61,7 +61,7 @@ if (MSVC) |
|
|
|
/external:W0 # Sets the default warning level to 0 for external headers, effectively turning off warnings for external headers |
|
|
|
|
|
|
|
# Warnings |
|
|
|
/W3 |
|
|
|
/W4 |
|
|
|
/WX |
|
|
|
|
|
|
|
/we4062 # Enumerator 'identifier' in a switch of enum 'enumeration' is not handled |
|
|
|
@ -84,12 +84,16 @@ if (MSVC) |
|
|
|
|
|
|
|
/wd4100 # 'identifier': unreferenced formal parameter |
|
|
|
/wd4324 # 'struct_name': structure was padded due to __declspec(align()) |
|
|
|
/wd4201 # nonstandard extension used : nameless struct/union |
|
|
|
) |
|
|
|
|
|
|
|
if (USE_CCACHE OR YUZU_USE_PRECOMPILED_HEADERS) |
|
|
|
# when caching, we need to use /Z7 to downgrade debug info to use an older but more cacheable format |
|
|
|
# Precompiled headers are deleted if not using /Z7. See https://github.com/nanoant/CMakePCHCompiler/issues/21 |
|
|
|
add_compile_options(/Z7) |
|
|
|
# Avoid D9025 warning |
|
|
|
string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") |
|
|
|
string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") |
|
|
|
else() |
|
|
|
add_compile_options(/Zi) |
|
|
|
endif() |
|
|
|
|
|
|
|
@ -20,7 +20,6 @@ size_t Event::GetManagerIndex(const Type type) const { |
|
|
|
default: |
|
|
|
UNREACHABLE(); |
|
|
|
} |
|
|
|
return 3; |
|
|
|
} |
|
|
|
|
|
|
|
void Event::SetAudioEvent(const Type type, const bool signalled) { |
|
|
|
|
|
|
|
@ -191,8 +191,6 @@ if (MSVC) |
|
|
|
_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING |
|
|
|
) |
|
|
|
target_compile_options(common PRIVATE |
|
|
|
/W4 |
|
|
|
|
|
|
|
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data |
|
|
|
/we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data |
|
|
|
/we4800 # Implicit conversion from 'type' to bool. Possible information loss |
|
|
|
|
|
|
|
@ -156,7 +156,6 @@ Result KCapabilities::MapIoPage_(const u32 cap, KPageTable* page_table) { |
|
|
|
const u64 phys_addr = MapIoPage{cap}.address.Value() * PageSize; |
|
|
|
const size_t num_pages = 1; |
|
|
|
const size_t size = num_pages * PageSize; |
|
|
|
R_UNLESS(num_pages != 0, ResultInvalidSize); |
|
|
|
R_UNLESS(phys_addr < phys_addr + size, ResultInvalidAddress); |
|
|
|
R_UNLESS(((phys_addr + size - 1) & ~PhysicalMapAllowedMask) == 0, ResultInvalidAddress); |
|
|
|
|
|
|
|
|
|
|
|
@ -160,8 +160,8 @@ u32 NvMap::PinHandle(NvMap::Handle::Id handle) { |
|
|
|
u32 address{}; |
|
|
|
auto& smmu_allocator = host1x.Allocator(); |
|
|
|
auto& smmu_memory_manager = host1x.MemoryManager(); |
|
|
|
while (!(address = |
|
|
|
smmu_allocator.Allocate(static_cast<u32>(handle_description->aligned_size)))) { |
|
|
|
while ((address = smmu_allocator.Allocate( |
|
|
|
static_cast<u32>(handle_description->aligned_size))) == 0) { |
|
|
|
// Free handles until the allocation succeeds
|
|
|
|
std::scoped_lock queueLock(unmap_queue_lock); |
|
|
|
if (auto freeHandleDesc{unmap_queue.front()}) { |
|
|
|
|
|
|
|
@ -477,7 +477,8 @@ public: |
|
|
|
return ResultInternalError; |
|
|
|
} |
|
|
|
PCCERT_CONTEXT some_cert = nullptr; |
|
|
|
while ((some_cert = CertEnumCertificatesInStore(returned_cert->hCertStore, some_cert))) { |
|
|
|
while ((some_cert = CertEnumCertificatesInStore(returned_cert->hCertStore, some_cert)) != |
|
|
|
nullptr) { |
|
|
|
out_certs->emplace_back(static_cast<u8*>(some_cert->pbCertEncoded), |
|
|
|
static_cast<u8*>(some_cert->pbCertEncoded) + |
|
|
|
some_cert->cbCertEncoded); |
|
|
|
|
|
|
|
@ -368,9 +368,9 @@ int main(int argc, char** argv) { |
|
|
|
if (auto room = network.GetRoom().lock()) { |
|
|
|
AnnounceMultiplayerRoom::GameInfo preferred_game_info{.name = preferred_game, |
|
|
|
.id = preferred_game_id}; |
|
|
|
if (!room->Create(room_name, room_description, bind_address, port, password, max_members, |
|
|
|
username, preferred_game_info, std::move(verify_backend), ban_list, |
|
|
|
enable_yuzu_mods)) { |
|
|
|
if (!room->Create(room_name, room_description, bind_address, static_cast<u16>(port), |
|
|
|
password, max_members, username, preferred_game_info, |
|
|
|
std::move(verify_backend), ban_list, enable_yuzu_mods)) { |
|
|
|
LOG_INFO(Network, "Failed to create room: "); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
@ -37,8 +37,6 @@ add_library(input_common STATIC |
|
|
|
|
|
|
|
if (MSVC) |
|
|
|
target_compile_options(input_common PRIVATE |
|
|
|
/W4 |
|
|
|
|
|
|
|
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data |
|
|
|
/we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data |
|
|
|
/we4800 # Implicit conversion from 'type' to bool. Possible information loss |
|
|
|
|
|
|
|
@ -805,7 +805,7 @@ IPv4Address Room::RoomImpl::GenerateFakeIPAddress() { |
|
|
|
std::uniform_int_distribution<> dis(0x01, 0xFE); // Random byte between 1 and 0xFE
|
|
|
|
do { |
|
|
|
for (std::size_t i = 2; i < result_ip.size(); ++i) { |
|
|
|
result_ip[i] = dis(random_gen); |
|
|
|
result_ip[i] = static_cast<u8>(dis(random_gen)); |
|
|
|
} |
|
|
|
} while (!IsValidFakeIPAddress(result_ip)); |
|
|
|
|
|
|
|
|
|
|
|
@ -245,8 +245,6 @@ target_link_libraries(shader_recompiler PUBLIC common fmt::fmt sirit) |
|
|
|
|
|
|
|
if (MSVC) |
|
|
|
target_compile_options(shader_recompiler PRIVATE |
|
|
|
/W4 |
|
|
|
|
|
|
|
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data |
|
|
|
/we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data |
|
|
|
/we4800 # Implicit conversion from 'type' to bool. Possible information loss |
|
|
|
|
|
|
|
@ -55,7 +55,7 @@ TEST_CASE("RingBuffer: Basic Tests", "[common]") { |
|
|
|
// Pushing more values than space available should partially succeed.
|
|
|
|
{ |
|
|
|
std::vector<char> to_push(6); |
|
|
|
std::iota(to_push.begin(), to_push.end(), 88); |
|
|
|
std::iota(to_push.begin(), to_push.end(), static_cast<char>(88)); |
|
|
|
const std::size_t count = buf.Push(to_push); |
|
|
|
REQUIRE(count == 3U); |
|
|
|
} |
|
|
|
|
|
|
|
@ -194,7 +194,7 @@ QWidget* Widget::CreateRadioGroup(std::function<std::string()>& serializer, |
|
|
|
return group; |
|
|
|
} |
|
|
|
|
|
|
|
const auto get_selected = [=]() -> u32 { |
|
|
|
const auto get_selected = [=]() -> int { |
|
|
|
for (const auto& [id, button] : radio_buttons) { |
|
|
|
if (button->isChecked()) { |
|
|
|
return id; |
|
|
|
|
|
|
|
@ -265,7 +265,7 @@ int main(int argc, char** argv) { |
|
|
|
password = match[2]; |
|
|
|
address = match[3]; |
|
|
|
if (!match[4].str().empty()) |
|
|
|
port = std::stoi(match[4]); |
|
|
|
port = static_cast<u16>(std::stoi(match[4])); |
|
|
|
std::regex nickname_re("^[a-zA-Z0-9._\\- ]+$"); |
|
|
|
if (!std::regex_match(nickname, nickname_re)) { |
|
|
|
std::cout |
|
|
|
|