From 5b4d4ca5eb1284edd4d5bfd6c6b0802e35bd6c17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joshua=20Vanda=C3=ABle?= Date: Fri, 21 Feb 2025 01:06:32 +0100 Subject: [PATCH] Fix multiple minor warnings - ExpressionParser.cpp: `-Wmissing-declarations` - AchievementManager.cpp: `-Wsign-compare` - SI.cpp: `-Warray-bounds=` - NetPlayClient.cpp: `-Wdangling-reference` --- Source/Core/Core/AchievementManager.cpp | 2 +- Source/Core/Core/HW/SI/SI.cpp | 2 ++ Source/Core/Core/NetPlayClient.cpp | 8 +++++--- .../InputCommon/ControlReference/ExpressionParser.cpp | 6 +++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Source/Core/Core/AchievementManager.cpp b/Source/Core/Core/AchievementManager.cpp index a40f4aaeb5..c8151f36bc 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -910,7 +910,7 @@ void AchievementManager::LeaderboardEntriesCallback(int result, const char* erro map_entry.username.assign(response_entry.user); memcpy(map_entry.score.data(), response_entry.display, FORMAT_SIZE); map_entry.rank = response_entry.rank; - if (ix == list->user_index) + if (static_cast(ix) == list->user_index) leaderboard.player_index = response_entry.rank; } AchievementManager::GetInstance().m_update_callback({.leaderboards = {*leaderboard_id}}); diff --git a/Source/Core/Core/HW/SI/SI.cpp b/Source/Core/Core/HW/SI/SI.cpp index 423f373337..f6af58107c 100644 --- a/Source/Core/Core/HW/SI/SI.cpp +++ b/Source/Core/Core/HW/SI/SI.cpp @@ -507,6 +507,8 @@ void SerialInterfaceManager::ChangeDevice(SIDevices device, int channel) void SerialInterfaceManager::ChangeDeviceDeterministic(SIDevices device, int channel) { + if (channel < 0 || channel >= MAX_SI_CHANNELS) + return; if (m_channel[channel].has_recent_device_change) return; diff --git a/Source/Core/Core/NetPlayClient.cpp b/Source/Core/Core/NetPlayClient.cpp index b9c859915c..347107dbda 100644 --- a/Source/Core/Core/NetPlayClient.cpp +++ b/Source/Core/Core/NetPlayClient.cpp @@ -4,6 +4,7 @@ #include "Core/NetPlayClient.h" #include +#include #include #include #include @@ -2668,9 +2669,10 @@ std::string GetPlayerMappingString(PlayerId pid, const PadMappingArray& pad_map, wiimote_slots.push_back(i + 1); } std::vector groups; - for (const auto& [group_name, slots] : - {std::make_pair("GC", &gc_slots), std::make_pair("GBA", &gba_slots), - std::make_pair("Wii", &wiimote_slots)}) + std::array*>, 3> slot_groups = { + {{"GC", &gc_slots}, {"GBA", &gba_slots}, {"Wii", &wiimote_slots}}}; + + for (const auto& [group_name, slots] : slot_groups) { if (!slots->empty()) groups.emplace_back(fmt::format("{}{}", group_name, fmt::join(*slots, ","))); diff --git a/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp b/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp index 5fccc2feef..df146f425c 100644 --- a/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp +++ b/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp @@ -26,12 +26,12 @@ using namespace ciface::Core; class ControlExpression; // Check if operator is usable with assignment, e.g. += -= *= -bool IsCompoundAssignmentUsableBinaryOperator(TokenType type) +static bool IsCompoundAssignmentUsableBinaryOperator(TokenType type) { return type >= TOK_COMPOUND_ASSIGN_OPS_BEGIN && type < TOK_COMPOUND_ASSIGN_OPS_END; } -TokenType GetBinaryOperatorTokenTypeFromChar(char c) +static TokenType GetBinaryOperatorTokenTypeFromChar(char c) { switch (c) { @@ -744,7 +744,7 @@ ParseResult ParseResult::MakeErrorResult(Token token, std::string description) return result; } -bool IsInertToken(const Token& tok) +static bool IsInertToken(const Token& tok) { return tok.type == TOK_COMMENT || tok.type == TOK_WHITESPACE; }