From 963d150e93af6ec2c9a390f0bf05940fd5c5fb74 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sat, 3 Apr 2021 19:38:02 +0300 Subject: [PATCH] Fix some -Weffc++ warnings (part 2) --- Utilities/JIT.cpp | 8 ++++ Utilities/JIT.h | 7 +-- Utilities/LUrlParser.h | 26 +++++------ Utilities/cheat_info.h | 6 +-- Utilities/rXml.h | 17 ++++++- rpcs3/Crypto/key_vault.h | 36 +++++++-------- rpcs3/Crypto/unedat.h | 6 +-- rpcs3/Crypto/unpkg.h | 10 ++--- rpcs3/Crypto/unself.h | 56 ++++++++++++------------ rpcs3/Emu/Audio/AL/OpenALBackend.h | 8 ++-- rpcs3/Emu/Audio/ALSA/ALSABackend.h | 13 +++--- rpcs3/Emu/Audio/AudioDumper.h | 4 +- rpcs3/Emu/Audio/FAudio/FAudioBackend.h | 9 ++-- rpcs3/Emu/Audio/Pulse/PulseBackend.h | 5 ++- rpcs3/Emu/Audio/XAudio2/XAudio2Backend.h | 5 ++- rpcs3/Emu/Cell/PPUAnalyser.h | 8 ++-- rpcs3/Emu/Cell/PPUInterpreter.cpp | 2 +- rpcs3/Emu/Cell/lv2/sys_fs.h | 4 ++ rpcs3/Emu/RSX/RSXOffload.h | 14 +++--- rpcs3/Emu/system_config.cpp | 2 +- rpcs3/Emu/system_config.h | 2 +- rpcs3/Loader/PSF.h | 8 ++-- rpcs3/Loader/PUP.h | 8 ++-- rpcs3/Loader/TRP.h | 4 +- rpcs3/util/cpu_stats.hpp | 2 +- rpcs3/util/logs.cpp | 18 ++++---- rpcs3/util/vm.hpp | 10 ++--- rpcs3/util/yaml.hpp | 1 + 28 files changed, 169 insertions(+), 130 deletions(-) diff --git a/Utilities/JIT.cpp b/Utilities/JIT.cpp index f6be381a7f..c42d339b17 100644 --- a/Utilities/JIT.cpp +++ b/Utilities/JIT.cpp @@ -218,6 +218,10 @@ asmjit::Runtime& asmjit::get_global_runtime() utils::memory_commit(m_pos, size, utils::protection::wx); } + custom_runtime(const custom_runtime&) = delete; + + custom_runtime& operator=(const custom_runtime&) = delete; + asmjit::Error _add(void** dst, asmjit::CodeHolder* code) noexcept override { usz codeSize = code->getCodeSize(); @@ -384,6 +388,10 @@ struct MemoryManager1 : llvm::RTDyldMemoryManager MemoryManager1() = default; + MemoryManager1(const MemoryManager1&) = delete; + + MemoryManager1& operator=(const MemoryManager1&) = delete; + ~MemoryManager1() override { utils::memory_release(ptr, c_max_size * 2); diff --git a/Utilities/JIT.h b/Utilities/JIT.h index 5c6a5f8c09..b346e8a550 100644 --- a/Utilities/JIT.h +++ b/Utilities/JIT.h @@ -16,6 +16,7 @@ #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Wstrict-aliasing" #pragma GCC diagnostic ignored "-Wredundant-decls" +#pragma GCC diagnostic ignored "-Wnon-virtual-dtor" #pragma GCC diagnostic ignored "-Weffc++" #ifndef __clang__ #pragma GCC diagnostic ignored "-Wduplicated-branches" @@ -205,13 +206,13 @@ inline FT build_function_asm(F&& builder) class jit_compiler final { // Local LLVM context - llvm::LLVMContext m_context; + llvm::LLVMContext m_context{}; // Execution instance - std::unique_ptr m_engine; + std::unique_ptr m_engine{}; // Arch - std::string m_cpu; + std::string m_cpu{}; public: jit_compiler(const std::unordered_map& _link, const std::string& _cpu, u32 flags = 0); diff --git a/Utilities/LUrlParser.h b/Utilities/LUrlParser.h index e347b369cb..1947f1ef46 100644 --- a/Utilities/LUrlParser.h +++ b/Utilities/LUrlParser.h @@ -1,21 +1,21 @@ /* * Lightweight URL & URI parser (RFC 1738, RFC 3986) * https://github.com/corporateshark/LUrlParser - * + * * The MIT License (MIT) - * + * * Copyright (C) 2015 Sergey Kosarevsky (sk@linderdaum.com) - * + * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: - * + * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -47,14 +47,14 @@ namespace LUrlParser { public: LUrlParserError m_ErrorCode; - std::string m_Scheme; - std::string m_Host; - std::string m_Port; - std::string m_Path; - std::string m_Query; - std::string m_Fragment; - std::string m_UserName; - std::string m_Password; + std::string m_Scheme{}; + std::string m_Host{}; + std::string m_Port{}; + std::string m_Path{}; + std::string m_Query{}; + std::string m_Fragment{}; + std::string m_UserName{}; + std::string m_Password{}; clParseURL() : m_ErrorCode( LUrlParserError_Uninitialized ) diff --git a/Utilities/cheat_info.h b/Utilities/cheat_info.h index 794769863e..9c77d8dd7f 100644 --- a/Utilities/cheat_info.h +++ b/Utilities/cheat_info.h @@ -21,11 +21,11 @@ constexpr u8 cheat_type_max = static_cast(cheat_type::max); struct cheat_info { - std::string game; - std::string description; + std::string game{}; + std::string description{}; cheat_type type = cheat_type::max; u32 offset{}; - std::string red_script; + std::string red_script{}; bool from_str(const std::string& cheat_line); std::string to_str() const; diff --git a/Utilities/rXml.h b/Utilities/rXml.h index a4f07b76ba..c5292470d8 100644 --- a/Utilities/rXml.h +++ b/Utilities/rXml.h @@ -1,6 +1,19 @@ #pragma once +#ifdef _MSC_VER +#pragma warning(push, 0) #include +#pragma warning(pop) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#pragma GCC diagnostic ignored "-Wold-style-cast" +#pragma GCC diagnostic ignored "-Weffc++" +#include +#pragma GCC diagnostic pop +#endif + #include struct rXmlNode @@ -13,7 +26,7 @@ struct rXmlNode std::string GetAttribute( const std::string &name); std::string GetNodeContent(); - pugi::xml_node handle; + pugi::xml_node handle{}; }; struct rXmlDocument @@ -24,5 +37,5 @@ struct rXmlDocument void Read(const std::string& data); std::shared_ptr GetRoot(); - pugi::xml_document handle; + pugi::xml_document handle{}; }; diff --git a/rpcs3/Crypto/key_vault.h b/rpcs3/Crypto/key_vault.h index 0180952d79..e4e2c2afbe 100644 --- a/rpcs3/Crypto/key_vault.h +++ b/rpcs3/Crypto/key_vault.h @@ -20,15 +20,15 @@ enum SELF_KEY_TYPE struct SELF_KEY { - u64 version_start; - u64 version_end; - u16 revision; - u32 self_type; - u8 erk[0x20]; - u8 riv[0x10]; - u8 pub[0x28]; - u8 priv[0x15]; - u32 curve_type; + u64 version_start{}; + u64 version_end{}; + u16 revision{}; + u32 self_type{}; + u8 erk[0x20]{}; + u8 riv[0x10]{}; + u8 pub[0x28]{}; + u8 priv[0x15]{}; + u32 curve_type{}; SELF_KEY(u64 ver_start, u64 ver_end, u16 rev, u32 type, const std::string& e, const std::string& r, const std::string& pb, const std::string& pr, u32 ct); }; @@ -182,15 +182,15 @@ constexpr u8 PUP_KEY[0x40] = { class KeyVault { - std::vector sk_LV0_arr; - std::vector sk_LV1_arr; - std::vector sk_LV2_arr; - std::vector sk_APP_arr; - std::vector sk_ISO_arr; - std::vector sk_LDR_arr; - std::vector sk_UNK7_arr; - std::vector sk_NPDRM_arr; - std::unique_ptr klicensee_key; + std::vector sk_LV0_arr{}; + std::vector sk_LV1_arr{}; + std::vector sk_LV2_arr{}; + std::vector sk_APP_arr{}; + std::vector sk_ISO_arr{}; + std::vector sk_LDR_arr{}; + std::vector sk_UNK7_arr{}; + std::vector sk_NPDRM_arr{}; + std::unique_ptr klicensee_key{}; public: KeyVault(); diff --git a/rpcs3/Crypto/unedat.h b/rpcs3/Crypto/unedat.h index 5db9da8a6b..d9b903bd8f 100644 --- a/rpcs3/Crypto/unedat.h +++ b/rpcs3/Crypto/unedat.h @@ -57,11 +57,11 @@ struct EDATADecrypter final : fs::file_base u32 total_blocks{0}; u64 pos{0}; - NPD_HEADER npdHeader; - EDAT_HEADER edatHeader; + NPD_HEADER npdHeader{}; + EDAT_HEADER edatHeader{}; // Internal data buffers. - std::unique_ptr data_buf; + std::unique_ptr data_buf{}; u64 data_buf_size{0}; u128 dec_key{}; diff --git a/rpcs3/Crypto/unpkg.h b/rpcs3/Crypto/unpkg.h index 5dbe1203f5..28eaff4320 100644 --- a/rpcs3/Crypto/unpkg.h +++ b/rpcs3/Crypto/unpkg.h @@ -323,16 +323,16 @@ private: bool m_is_valid = false; - std::string m_path; - std::string m_install_dir; - std::vector m_filelist; + std::string m_path{}; + std::string m_install_dir{}; + std::vector m_filelist{}; usz m_cur_file = 0; u64 m_cur_offset = 0; u64 m_cur_file_offset = 0; - std::unique_ptr m_buf; + std::unique_ptr m_buf{}; std::array m_dec_key{}; PKGHeader m_header{}; PKGMetaData m_metadata{}; - psf::registry m_psf; + psf::registry m_psf{}; }; diff --git a/rpcs3/Crypto/unself.h b/rpcs3/Crypto/unself.h index 3f3ef6dd21..6cac321ca2 100644 --- a/rpcs3/Crypto/unself.h +++ b/rpcs3/Crypto/unself.h @@ -359,18 +359,18 @@ protected: const fs::file& sce_f; // SCE headers. - SceHeader sce_hdr; + SceHeader sce_hdr{}; // Metadata structs. - MetadataInfo meta_info; - MetadataHeader meta_hdr; - std::vector meta_shdr; + MetadataInfo meta_info{}; + MetadataHeader meta_hdr{}; + std::vector meta_shdr{}; // Internal data buffers. - std::unique_ptr data_keys; - u32 data_keys_length; - std::unique_ptr data_buf; - u32 data_buf_length; + std::unique_ptr data_keys{}; + u32 data_keys_length{}; + std::unique_ptr data_buf{}; + u32 data_buf_length{}; public: SCEDecrypter(const fs::file& s); @@ -386,38 +386,38 @@ class SELFDecrypter const fs::file& self_f; // SCE, SELF and APP headers. - SceHeader sce_hdr; - SelfHeader self_hdr; - AppInfo app_info; + SceHeader sce_hdr{}; + SelfHeader self_hdr{}; + AppInfo app_info{}; // ELF64 header and program header/section header arrays. - Elf64_Ehdr elf64_hdr; - std::vector shdr64_arr; - std::vector phdr64_arr; + Elf64_Ehdr elf64_hdr{}; + std::vector shdr64_arr{}; + std::vector phdr64_arr{}; // ELF32 header and program header/section header arrays. - Elf32_Ehdr elf32_hdr; - std::vector shdr32_arr; - std::vector phdr32_arr; + Elf32_Ehdr elf32_hdr{}; + std::vector shdr32_arr{}; + std::vector phdr32_arr{}; // Decryption info structs. - std::vector secinfo_arr; - SCEVersionInfo scev_info; - std::vector ctrlinfo_arr; + std::vector secinfo_arr{}; + SCEVersionInfo scev_info{}; + std::vector ctrlinfo_arr{}; // Metadata structs. - MetadataInfo meta_info; - MetadataHeader meta_hdr; - std::vector meta_shdr; + MetadataInfo meta_info{}; + MetadataHeader meta_hdr{}; + std::vector meta_shdr{}; // Internal data buffers. - std::unique_ptr data_keys; - u32 data_keys_length; - std::unique_ptr data_buf; - u32 data_buf_length = 0; + std::unique_ptr data_keys{}; + u32 data_keys_length{}; + std::unique_ptr data_buf{}; + u32 data_buf_length{}; // Main key vault instance. - KeyVault key_v; + KeyVault key_v{}; public: SELFDecrypter(const fs::file& s); diff --git a/rpcs3/Emu/Audio/AL/OpenALBackend.h b/rpcs3/Emu/Audio/AL/OpenALBackend.h index 99c26c6c4a..92ad84c771 100644 --- a/rpcs3/Emu/Audio/AL/OpenALBackend.h +++ b/rpcs3/Emu/Audio/AL/OpenALBackend.h @@ -7,10 +7,10 @@ class OpenALBackend : public AudioBackend { private: - ALint m_format; - ALuint m_source; - ALuint m_buffers[MAX_AUDIO_BUFFERS]; - ALsizei m_num_buffers; + ALint m_format{}; + ALuint m_source{}; + ALuint m_buffers[MAX_AUDIO_BUFFERS]{}; + ALsizei m_num_buffers{}; u32 m_next_buffer = 0; u32 m_num_unqueued = 0; diff --git a/rpcs3/Emu/Audio/ALSA/ALSABackend.h b/rpcs3/Emu/Audio/ALSA/ALSABackend.h index ab69479283..5da05b807b 100644 --- a/rpcs3/Emu/Audio/ALSA/ALSABackend.h +++ b/rpcs3/Emu/Audio/ALSA/ALSABackend.h @@ -10,14 +10,17 @@ class ALSABackend : public AudioBackend { - snd_pcm_t* tls_handle{nullptr}; - snd_pcm_hw_params_t* tls_hw_params{nullptr}; - snd_pcm_sw_params_t* tls_sw_params{nullptr}; - + snd_pcm_t* tls_handle{}; + snd_pcm_hw_params_t* tls_hw_params{}; + snd_pcm_sw_params_t* tls_sw_params{}; + public: ALSABackend(); virtual ~ALSABackend() override; + ALSABackend(const ALSABackend&) = delete; + ALSABackend& operator=(const ALSABackend&) = delete; + virtual const char* GetName() const override { return "ALSA"; } static const u32 capabilities = 0; @@ -25,6 +28,6 @@ public: virtual void Open(u32) override; virtual void Close() override; - + virtual bool AddData(const void* src, u32 num_samples) override; }; diff --git a/rpcs3/Emu/Audio/AudioDumper.h b/rpcs3/Emu/Audio/AudioDumper.h index 35382b91bf..c8fd92e43c 100644 --- a/rpcs3/Emu/Audio/AudioDumper.h +++ b/rpcs3/Emu/Audio/AudioDumper.h @@ -63,8 +63,8 @@ struct WAVHeader class AudioDumper { - WAVHeader m_header; - fs::file m_output; + WAVHeader m_header{}; + fs::file m_output{}; public: AudioDumper(u16 ch); diff --git a/rpcs3/Emu/Audio/FAudio/FAudioBackend.h b/rpcs3/Emu/Audio/FAudio/FAudioBackend.h index 07d406b0a7..4617559719 100644 --- a/rpcs3/Emu/Audio/FAudio/FAudioBackend.h +++ b/rpcs3/Emu/Audio/FAudio/FAudioBackend.h @@ -10,14 +10,17 @@ class FAudioBackend : public AudioBackend { private: - FAudio* m_instance; - FAudioMasteringVoice* m_master_voice; - FAudioSourceVoice* m_source_voice = nullptr; + FAudio* m_instance{}; + FAudioMasteringVoice* m_master_voice{}; + FAudioSourceVoice* m_source_voice{}; public: FAudioBackend(); virtual ~FAudioBackend() override; + FAudioBackend(const FAudioBackend&) = delete; + FAudioBackend& operator=(const FAudioBackend&) = delete; + virtual const char* GetName() const override { return "FAudio"; diff --git a/rpcs3/Emu/Audio/Pulse/PulseBackend.h b/rpcs3/Emu/Audio/Pulse/PulseBackend.h index 66cab47bc4..85f82aa7b5 100644 --- a/rpcs3/Emu/Audio/Pulse/PulseBackend.h +++ b/rpcs3/Emu/Audio/Pulse/PulseBackend.h @@ -13,6 +13,9 @@ public: PulseBackend(); virtual ~PulseBackend() override; + PulseBackend(const PulseBackend&) = delete; + PulseBackend& operator=(const PulseBackend&) = delete; + virtual const char* GetName() const override { return "Pulse"; } static const u32 capabilities = 0; @@ -24,5 +27,5 @@ public: virtual bool AddData(const void* src, u32 num_samples) override; private: - pa_simple *connection = nullptr; + pa_simple* connection{}; }; diff --git a/rpcs3/Emu/Audio/XAudio2/XAudio2Backend.h b/rpcs3/Emu/Audio/XAudio2/XAudio2Backend.h index da226775ae..8481c10ffb 100644 --- a/rpcs3/Emu/Audio/XAudio2/XAudio2Backend.h +++ b/rpcs3/Emu/Audio/XAudio2/XAudio2Backend.h @@ -13,7 +13,7 @@ class XAudio2Backend final : public AudioBackend { private: - Microsoft::WRL::ComPtr m_xaudio2_instance; + Microsoft::WRL::ComPtr m_xaudio2_instance{}; IXAudio2MasteringVoice* m_master_voice{}; IXAudio2SourceVoice* m_source_voice{}; @@ -21,6 +21,9 @@ public: XAudio2Backend(); virtual ~XAudio2Backend() override; + XAudio2Backend(const XAudio2Backend&) = delete; + XAudio2Backend& operator=(const XAudio2Backend&) = delete; + virtual const char* GetName() const override { return "XAudio2"; }; static const u32 capabilities = PLAY_PAUSE_FLUSH | IS_PLAYING | GET_NUM_ENQUEUED_SAMPLES | SET_FREQUENCY_RATIO; diff --git a/rpcs3/Emu/Cell/PPUAnalyser.h b/rpcs3/Emu/Cell/PPUAnalyser.h index 7b6236ac10..366726a1e1 100644 --- a/rpcs3/Emu/Cell/PPUAnalyser.h +++ b/rpcs3/Emu/Cell/PPUAnalyser.h @@ -31,10 +31,10 @@ struct ppu_function u32 stack_frame = 0; u32 trampoline = 0; - std::map blocks; // Basic blocks: addr -> size - std::set calls; // Set of called functions - std::set callers; - std::string name; // Function name + std::map blocks{}; // Basic blocks: addr -> size + std::set calls{}; // Set of called functions + std::set callers{}; + std::string name{}; // Function name }; // PPU Relocation Information diff --git a/rpcs3/Emu/Cell/PPUInterpreter.cpp b/rpcs3/Emu/Cell/PPUInterpreter.cpp index eaae5bf611..d7d44cc000 100644 --- a/rpcs3/Emu/Cell/PPUInterpreter.cpp +++ b/rpcs3/Emu/Cell/PPUInterpreter.cpp @@ -399,7 +399,7 @@ extern void ppu_trap(ppu_thread& ppu, u64 addr); class ppu_scale_table_t { - std::array m_data; + std::array m_data{}; public: ppu_scale_table_t() diff --git a/rpcs3/Emu/Cell/lv2/sys_fs.h b/rpcs3/Emu/Cell/lv2/sys_fs.h index a51d9b9251..61058f5734 100644 --- a/rpcs3/Emu/Cell/lv2/sys_fs.h +++ b/rpcs3/Emu/Cell/lv2/sys_fs.h @@ -172,6 +172,10 @@ struct lv2_fs_object { } + lv2_fs_object(const lv2_fs_object&) = delete; + + lv2_fs_object& operator=(const lv2_fs_object&) = delete; + virtual ~lv2_fs_object() = default; static lv2_fs_mount_point* get_mp(std::string_view filename); diff --git a/rpcs3/Emu/RSX/RSXOffload.h b/rpcs3/Emu/RSX/RSXOffload.h index 54ec115eb6..0f9231b541 100644 --- a/rpcs3/Emu/RSX/RSXOffload.h +++ b/rpcs3/Emu/RSX/RSXOffload.h @@ -20,13 +20,13 @@ namespace rsx struct transport_packet { - op type; - std::vector opt_storage; - void *src; - void *dst; - u32 length; - u32 aux_param0; - u32 aux_param1; + op type{}; + std::vector opt_storage{}; + void* src{}; + void* dst{}; + u32 length{}; + u32 aux_param0{}; + u32 aux_param1{}; transport_packet(void *_dst, void *_src, u32 len) : type(op::raw_copy), src(_src), dst(_dst), length(len) diff --git a/rpcs3/Emu/system_config.cpp b/rpcs3/Emu/system_config.cpp index e50a4172b9..2555088c04 100644 --- a/rpcs3/Emu/system_config.cpp +++ b/rpcs3/Emu/system_config.cpp @@ -4,7 +4,7 @@ #include "util/sysinfo.hpp" -cfg_root g_cfg; +cfg_root g_cfg{}; bool cfg_root::node_core::has_rtm() const { diff --git a/rpcs3/Emu/system_config.h b/rpcs3/Emu/system_config.h index b507ab7295..4506fbb471 100644 --- a/rpcs3/Emu/system_config.h +++ b/rpcs3/Emu/system_config.h @@ -295,7 +295,7 @@ struct cfg_root : cfg::node cfg::log_entry log{ this, "Log" }; - std::string name; + std::string name{}; }; extern cfg_root g_cfg; diff --git a/rpcs3/Loader/PSF.h b/rpcs3/Loader/PSF.h index 7968b0e71b..6e6fea983d 100644 --- a/rpcs3/Loader/PSF.h +++ b/rpcs3/Loader/PSF.h @@ -21,10 +21,10 @@ namespace psf class entry final { - format m_type; - u32 m_max_size; // Entry max size (supplementary info, stored in PSF format) - u32 m_value_integer; // TODO: is it really unsigned? - std::string m_value_string; + format m_type{}; + u32 m_max_size{}; // Entry max size (supplementary info, stored in PSF format) + u32 m_value_integer{}; // TODO: is it really unsigned? + std::string m_value_string{}; public: // Construct string entry, assign the value diff --git a/rpcs3/Loader/PUP.h b/rpcs3/Loader/PUP.h index ea2f1bdac5..ec2775e0e8 100644 --- a/rpcs3/Loader/PUP.h +++ b/rpcs3/Loader/PUP.h @@ -46,13 +46,13 @@ enum class pup_error : u32 class pup_object { - fs::file m_file; + fs::file m_file{}; pup_error m_error{}; - std::string m_formatted_error; + std::string m_formatted_error{}; - std::vector m_file_tbl; - std::vector m_hash_tbl; + std::vector m_file_tbl{}; + std::vector m_hash_tbl{}; pup_error validate_hashes(); diff --git a/rpcs3/Loader/TRP.h b/rpcs3/Loader/TRP.h index 8df4a7679d..de677836c3 100644 --- a/rpcs3/Loader/TRP.h +++ b/rpcs3/Loader/TRP.h @@ -24,8 +24,8 @@ struct TRPEntry class TRPLoader final { const fs::file& trp_f; - TRPHeader m_header; - std::vector m_entries; + TRPHeader m_header{}; + std::vector m_entries{}; public: TRPLoader(const fs::file& f); diff --git a/rpcs3/util/cpu_stats.hpp b/rpcs3/util/cpu_stats.hpp index 744478dd09..fea3330974 100644 --- a/rpcs3/util/cpu_stats.hpp +++ b/rpcs3/util/cpu_stats.hpp @@ -6,7 +6,7 @@ namespace utils { class cpu_stats { - u64 m_last_cpu, m_sys_cpu, m_usr_cpu; + u64 m_last_cpu = 0, m_sys_cpu = 0, m_usr_cpu = 0; public: cpu_stats(); diff --git a/rpcs3/util/logs.cpp b/rpcs3/util/logs.cpp index 73ce17554c..b3327f9d44 100644 --- a/rpcs3/util/logs.cpp +++ b/rpcs3/util/logs.cpp @@ -70,19 +70,19 @@ namespace logs class file_writer { - std::thread m_writer; - fs::file m_fout; - fs::file m_fout2; - u64 m_max_size; + std::thread m_writer{}; + fs::file m_fout{}; + fs::file m_fout2{}; + u64 m_max_size{}; - std::unique_ptr m_fptr; + std::unique_ptr m_fptr{}; z_stream m_zs{}; - shared_mutex m_m; + shared_mutex m_m{}; alignas(128) atomic_t m_buf{0}; // MSB (40 bit): push begin, LSB (24 bis): push size alignas(128) atomic_t m_out{0}; // Amount of bytes written to file - uchar m_zout[65536]; + uchar m_zout[65536]{}; // Write buffered logs immediately bool flush(u64 bufv); @@ -118,10 +118,10 @@ namespace logs } // Channel registry - std::unordered_multimap channels; + std::unordered_multimap channels{}; // Messages for delayed listener initialization - std::vector messages; + std::vector messages{}; }; static root_listener* get_logger() diff --git a/rpcs3/util/vm.hpp b/rpcs3/util/vm.hpp index 7486c28356..f779ca86f4 100644 --- a/rpcs3/util/vm.hpp +++ b/rpcs3/util/vm.hpp @@ -47,13 +47,13 @@ namespace utils class shm { #ifdef _WIN32 - void* m_handle; + void* m_handle{}; #else - int m_file; + int m_file{}; #endif - u32 m_size; - u32 m_flags; - atomic_t m_ptr; + u32 m_size{}; + u32 m_flags{}; + atomic_t m_ptr{nullptr}; public: explicit shm(u32 size, u32 flags = 0); diff --git a/rpcs3/util/yaml.hpp b/rpcs3/util/yaml.hpp index 18fdad21a1..8ac66357d9 100644 --- a/rpcs3/util/yaml.hpp +++ b/rpcs3/util/yaml.hpp @@ -14,6 +14,7 @@ #pragma GCC diagnostic ignored "-Wold-style-cast" #pragma GCC diagnostic ignored "-Wattributes" #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#pragma GCC diagnostic ignored "-Weffc++" #include "yaml-cpp/yaml.h" #pragma GCC diagnostic pop #endif