diff options
| author | bunnei <bunneidev@gmail.com> | 2021-01-17 00:55:10 -0800 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-17 00:55:10 -0800 | 
| commit | e8401964b4cb617223554e147091f109dc870ba5 (patch) | |
| tree | 0e963c000006ca547044bdc628177311fa0dc585 /src/core | |
| parent | 132f2006af28ea0de7f2e42a5637882236d0ec8f (diff) | |
| parent | 5f517e3e1698cac0408eb6ad66c826e4aa8a7b25 (diff) | |
Merge pull request #5360 from ReinUsesLisp/enforce-memclass-access
core: Silence Wclass-memaccess warnings and enforce it
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/core/file_sys/savedata_factory.h | 4 | ||||
| -rw-r--r-- | src/core/hle/ipc.h | 4 | ||||
| -rw-r--r-- | src/core/hle/service/acc/acc.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/service/acc/profile_manager.cpp | 10 | ||||
| -rw-r--r-- | src/core/hle/service/acc/profile_manager.h | 18 | ||||
| -rw-r--r-- | src/core/hle/service/audio/audout_u.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 6 | ||||
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.h | 23 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid.cpp | 148 | ||||
| -rw-r--r-- | src/core/hle/service/mii/manager.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/mii/manager.h | 106 | ||||
| -rw-r--r-- | src/core/hle/service/time/clock_types.h | 26 | ||||
| -rw-r--r-- | src/core/hle/service/time/time_zone_types.h | 22 | 
14 files changed, 192 insertions, 181 deletions
| diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 99310dc50..2f6b22747 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -645,6 +645,7 @@ else()          -Werror=implicit-fallthrough          -Werror=sign-compare +        $<$<CXX_COMPILER_ID:GNU>:-Werror=class-memaccess>          $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>          $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable> diff --git a/src/core/file_sys/savedata_factory.h b/src/core/file_sys/savedata_factory.h index 17f774baa..86c9f5350 100644 --- a/src/core/file_sys/savedata_factory.h +++ b/src/core/file_sys/savedata_factory.h @@ -58,7 +58,7 @@ struct SaveDataAttribute {      SaveDataType type;      SaveDataRank rank;      u16 index; -    INSERT_PADDING_BYTES(4); +    INSERT_PADDING_BYTES_NOINIT(4);      u64 zero_1;      u64 zero_2;      u64 zero_3; @@ -72,7 +72,7 @@ struct SaveDataExtraData {      u64 owner_id;      s64 timestamp;      SaveDataFlags flags; -    INSERT_PADDING_BYTES(4); +    INSERT_PADDING_BYTES_NOINIT(4);      s64 available_size;      s64 journal_size;      s64 commit_id; diff --git a/src/core/hle/ipc.h b/src/core/hle/ipc.h index 79bcf5762..55b1716e4 100644 --- a/src/core/hle/ipc.h +++ b/src/core/hle/ipc.h @@ -146,7 +146,7 @@ static_assert(sizeof(BufferDescriptorC) == 8, "BufferDescriptorC size is incorre  struct DataPayloadHeader {      u32_le magic; -    INSERT_PADDING_WORDS(1); +    INSERT_PADDING_WORDS_NOINIT(1);  };  static_assert(sizeof(DataPayloadHeader) == 8, "DataPayloadHeader size is incorrect"); @@ -174,7 +174,7 @@ struct DomainMessageHeader {              INSERT_PADDING_WORDS_NOINIT(2);          }; -        std::array<u32, 4> raw{}; +        std::array<u32, 4> raw;      };  };  static_assert(sizeof(DomainMessageHeader) == 16, "DomainMessageHeader size is incorrect"); diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index 6981f8ee7..bb07f6ccc 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -534,7 +534,7 @@ private:          rb.Push(RESULT_SUCCESS);      } -    Common::UUID user_id; +    Common::UUID user_id{Common::INVALID_UUID};  };  // 6.0.0+ diff --git a/src/core/hle/service/acc/profile_manager.cpp b/src/core/hle/service/acc/profile_manager.cpp index 9b829e957..d9865d56f 100644 --- a/src/core/hle/service/acc/profile_manager.cpp +++ b/src/core/hle/service/acc/profile_manager.cpp @@ -227,17 +227,17 @@ void ProfileManager::CloseUser(UUID uuid) {  /// Gets all valid user ids on the system  UserIDArray ProfileManager::GetAllUsers() const { -    UserIDArray output; -    std::transform(profiles.begin(), profiles.end(), output.begin(), -                   [](const ProfileInfo& p) { return p.user_uuid; }); +    UserIDArray output{}; +    std::ranges::transform(profiles, output.begin(), +                           [](const ProfileInfo& p) { return p.user_uuid; });      return output;  }  /// Get all the open users on the system and zero out the rest of the data. This is specifically  /// needed for GetOpenUsers and we need to ensure the rest of the output buffer is zero'd out  UserIDArray ProfileManager::GetOpenUsers() const { -    UserIDArray output; -    std::transform(profiles.begin(), profiles.end(), output.begin(), [](const ProfileInfo& p) { +    UserIDArray output{}; +    std::ranges::transform(profiles, output.begin(), [](const ProfileInfo& p) {          if (p.is_open)              return p.user_uuid;          return UUID{Common::INVALID_UUID}; diff --git a/src/core/hle/service/acc/profile_manager.h b/src/core/hle/service/acc/profile_manager.h index 5310637a6..71b9d5518 100644 --- a/src/core/hle/service/acc/profile_manager.h +++ b/src/core/hle/service/acc/profile_manager.h @@ -23,12 +23,12 @@ using UserIDArray = std::array<Common::UUID, MAX_USERS>;  /// Contains extra data related to a user.  /// TODO: RE this structure  struct ProfileData { -    INSERT_PADDING_WORDS(1); -    u32 icon_id{}; -    u8 bg_color_id{}; -    INSERT_PADDING_BYTES(0x7); -    INSERT_PADDING_BYTES(0x10); -    INSERT_PADDING_BYTES(0x60); +    INSERT_PADDING_WORDS_NOINIT(1); +    u32 icon_id; +    u8 bg_color_id; +    INSERT_PADDING_BYTES_NOINIT(0x7); +    INSERT_PADDING_BYTES_NOINIT(0x10); +    INSERT_PADDING_BYTES_NOINIT(0x60);  };  static_assert(sizeof(ProfileData) == 0x80, "ProfileData structure has incorrect size"); @@ -43,9 +43,9 @@ struct ProfileInfo {  };  struct ProfileBase { -    Common::UUID user_uuid{Common::INVALID_UUID}; -    u64_le timestamp{}; -    ProfileUsername username{}; +    Common::UUID user_uuid; +    u64_le timestamp; +    ProfileUsername username;      // Zero out all the fields to make the profile slot considered "Empty"      void Invalidate() { diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp index 0cd797109..02ca711fb 100644 --- a/src/core/hle/service/audio/audout_u.cpp +++ b/src/core/hle/service/audio/audout_u.cpp @@ -29,7 +29,7 @@ constexpr int DefaultSampleRate{48000};  struct AudoutParams {      s32_le sample_rate;      u16_le channel_count; -    INSERT_PADDING_BYTES(2); +    INSERT_PADDING_BYTES_NOINIT(2);  };  static_assert(sizeof(AudoutParams) == 0x8, "AudoutParams is an invalid size"); diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index d280e7caf..1082be489 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -141,7 +141,9 @@ bool Controller_NPad::IsDeviceHandleValid(const DeviceHandle& device_handle) {             device_handle.device_index < DeviceIndex::MaxDeviceIndex;  } -Controller_NPad::Controller_NPad(Core::System& system) : ControllerBase(system), system(system) {} +Controller_NPad::Controller_NPad(Core::System& system) : ControllerBase(system), system(system) { +    latest_vibration_values.fill({DEFAULT_VIBRATION_VALUE, DEFAULT_VIBRATION_VALUE}); +}  Controller_NPad::~Controller_NPad() {      OnRelease(); @@ -732,7 +734,7 @@ bool Controller_NPad::VibrateControllerAtIndex(std::size_t npad_index, std::size              // Send an empty vibration to stop any vibrations.              vibrations[npad_index][device_index]->SetRumblePlay(0.0f, 160.0f, 0.0f, 320.0f);              // Then reset the vibration value to its default value. -            latest_vibration_values[npad_index][device_index] = {}; +            latest_vibration_values[npad_index][device_index] = DEFAULT_VIBRATION_VALUE;          }          return false; diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index e2e826623..bc85ca4df 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -97,10 +97,10 @@ public:      };      struct DeviceHandle { -        NpadType npad_type{}; -        u8 npad_id{}; -        DeviceIndex device_index{}; -        INSERT_PADDING_BYTES(1); +        NpadType npad_type; +        u8 npad_id; +        DeviceIndex device_index; +        INSERT_PADDING_BYTES_NOINIT(1);      };      static_assert(sizeof(DeviceHandle) == 4, "DeviceHandle is an invalid size"); @@ -120,13 +120,20 @@ public:      static_assert(sizeof(NpadStyleSet) == 4, "NpadStyleSet is an invalid size");      struct VibrationValue { -        f32 amp_low{0.0f}; -        f32 freq_low{160.0f}; -        f32 amp_high{0.0f}; -        f32 freq_high{320.0f}; +        f32 amp_low; +        f32 freq_low; +        f32 amp_high; +        f32 freq_high;      };      static_assert(sizeof(VibrationValue) == 0x10, "Vibration is an invalid size"); +    static constexpr VibrationValue DEFAULT_VIBRATION_VALUE{ +        .amp_low = 0.0f, +        .freq_low = 160.0f, +        .amp_high = 0.0f, +        .freq_high = 320.0f, +    }; +      struct LedPattern {          explicit LedPattern(u64 light1, u64 light2, u64 light3, u64 light4) {              position1.Assign(light1); diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 8d95f74e6..2b13d6fe6 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -401,9 +401,9 @@ void Hid::SendKeyboardLockKeyEvent(Kernel::HLERequestContext& ctx) {  void Hid::ActivateXpad(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 basic_xpad_id{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        u32 basic_xpad_id; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -431,9 +431,9 @@ void Hid::GetXpadIDs(Kernel::HLERequestContext& ctx) {  void Hid::ActivateSixAxisSensor(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -452,9 +452,9 @@ void Hid::ActivateSixAxisSensor(Kernel::HLERequestContext& ctx) {  void Hid::DeactivateSixAxisSensor(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -473,9 +473,9 @@ void Hid::DeactivateSixAxisSensor(Kernel::HLERequestContext& ctx) {  void Hid::StartSixAxisSensor(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -494,9 +494,9 @@ void Hid::StartSixAxisSensor(Kernel::HLERequestContext& ctx) {  void Hid::StopSixAxisSensor(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -515,10 +515,10 @@ void Hid::StopSixAxisSensor(Kernel::HLERequestContext& ctx) {  void Hid::EnableSixAxisSensorFusion(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        bool enable_sixaxis_sensor_fusion{}; -        INSERT_PADDING_BYTES(3); -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        u64 applet_resource_user_id{}; +        bool enable_sixaxis_sensor_fusion; +        INSERT_PADDING_BYTES_NOINIT(3); +        Controller_NPad::DeviceHandle sixaxis_handle; +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -556,9 +556,9 @@ void Hid::SetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx) {  void Hid::GetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -577,9 +577,9 @@ void Hid::GetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx) {  void Hid::ResetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -599,9 +599,9 @@ void Hid::ResetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx) {  void Hid::IsSixAxisSensorAtRest(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -620,9 +620,9 @@ void Hid::IsSixAxisSensorAtRest(Kernel::HLERequestContext& ctx) {  void Hid::ActivateGesture(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 unknown{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        u32 unknown; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -702,10 +702,10 @@ void Hid::DeactivateNpad(Kernel::HLERequestContext& ctx) {  void Hid::AcquireNpadStyleSetUpdateEventHandle(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 npad_id{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; -        u64 unknown{}; +        u32 npad_id; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id; +        u64 unknown;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -722,9 +722,9 @@ void Hid::AcquireNpadStyleSetUpdateEventHandle(Kernel::HLERequestContext& ctx) {  void Hid::DisconnectNpad(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 npad_id{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        u32 npad_id; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -756,9 +756,9 @@ void Hid::ActivateNpadWithRevision(Kernel::HLERequestContext& ctx) {      // Should have no effect with how our npad sets up the data      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 unknown{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        u32 unknown; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -800,9 +800,9 @@ void Hid::GetNpadJoyHoldType(Kernel::HLERequestContext& ctx) {  void Hid::SetNpadJoyAssignmentModeSingleByDefault(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 npad_id{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        u32 npad_id; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -821,10 +821,10 @@ void Hid::SetNpadJoyAssignmentModeSingle(Kernel::HLERequestContext& ctx) {      // TODO: Check the differences between this and SetNpadJoyAssignmentModeSingleByDefault      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 npad_id{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; -        u64 npad_joy_device_type{}; +        u32 npad_id; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id; +        u64 npad_joy_device_type;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -844,9 +844,9 @@ void Hid::SetNpadJoyAssignmentModeSingle(Kernel::HLERequestContext& ctx) {  void Hid::SetNpadJoyAssignmentModeDual(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 npad_id{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        u32 npad_id; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -952,9 +952,9 @@ void Hid::SwapNpadAssignment(Kernel::HLERequestContext& ctx) {  void Hid::IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        u32 npad_id{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        u32 npad_id; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -971,10 +971,10 @@ void Hid::IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext  void Hid::EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        bool unintended_home_button_input_protection{}; -        INSERT_PADDING_BYTES(3); -        u32 npad_id{}; -        u64 applet_resource_user_id{}; +        bool unintended_home_button_input_protection; +        INSERT_PADDING_BYTES_NOINIT(3); +        u32 npad_id; +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -1026,10 +1026,10 @@ void Hid::GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx) {  void Hid::SendVibrationValue(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle vibration_device_handle{}; -        Controller_NPad::VibrationValue vibration_value{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle vibration_device_handle; +        Controller_NPad::VibrationValue vibration_value; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -1050,9 +1050,9 @@ void Hid::SendVibrationValue(Kernel::HLERequestContext& ctx) {  void Hid::GetActualVibrationValue(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle vibration_device_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle vibration_device_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -1147,9 +1147,9 @@ void Hid::EndPermitVibrationSession(Kernel::HLERequestContext& ctx) {  void Hid::IsVibrationDeviceMounted(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle vibration_device_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle vibration_device_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -1180,9 +1180,9 @@ void Hid::ActivateConsoleSixAxisSensor(Kernel::HLERequestContext& ctx) {  void Hid::StartConsoleSixAxisSensor(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; @@ -1200,9 +1200,9 @@ void Hid::StartConsoleSixAxisSensor(Kernel::HLERequestContext& ctx) {  void Hid::StopConsoleSixAxisSensor(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      struct Parameters { -        Controller_NPad::DeviceHandle sixaxis_handle{}; -        INSERT_PADDING_WORDS(1); -        u64 applet_resource_user_id{}; +        Controller_NPad::DeviceHandle sixaxis_handle; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id;      };      const auto parameters{rp.PopRaw<Parameters>()}; diff --git a/src/core/hle/service/mii/manager.cpp b/src/core/hle/service/mii/manager.cpp index d73b90015..567a4e345 100644 --- a/src/core/hle/service/mii/manager.cpp +++ b/src/core/hle/service/mii/manager.cpp @@ -100,6 +100,7 @@ MiiInfo ConvertStoreDataToInfo(const MiiStoreData& data) {          .mole_scale = static_cast<u8>(bf.mole_scale.Value()),          .mole_x = static_cast<u8>(bf.mole_x.Value()),          .mole_y = static_cast<u8>(bf.mole_y.Value()), +        .padding = 0,      };  } diff --git a/src/core/hle/service/mii/manager.h b/src/core/hle/service/mii/manager.h index 927451dea..32c27ee65 100644 --- a/src/core/hle/service/mii/manager.h +++ b/src/core/hle/service/mii/manager.h @@ -27,58 +27,58 @@ enum class SourceFlag : u32 {  DECLARE_ENUM_FLAG_OPERATORS(SourceFlag);  struct MiiInfo { -    Common::UUID uuid{Common::INVALID_UUID}; -    std::array<char16_t, 11> name{}; -    u8 font_region{}; -    u8 favorite_color{}; -    u8 gender{}; -    u8 height{}; -    u8 build{}; -    u8 type{}; -    u8 region_move{}; -    u8 faceline_type{}; -    u8 faceline_color{}; -    u8 faceline_wrinkle{}; -    u8 faceline_make{}; -    u8 hair_type{}; -    u8 hair_color{}; -    u8 hair_flip{}; -    u8 eye_type{}; -    u8 eye_color{}; -    u8 eye_scale{}; -    u8 eye_aspect{}; -    u8 eye_rotate{}; -    u8 eye_x{}; -    u8 eye_y{}; -    u8 eyebrow_type{}; -    u8 eyebrow_color{}; -    u8 eyebrow_scale{}; -    u8 eyebrow_aspect{}; -    u8 eyebrow_rotate{}; -    u8 eyebrow_x{}; -    u8 eyebrow_y{}; -    u8 nose_type{}; -    u8 nose_scale{}; -    u8 nose_y{}; -    u8 mouth_type{}; -    u8 mouth_color{}; -    u8 mouth_scale{}; -    u8 mouth_aspect{}; -    u8 mouth_y{}; -    u8 beard_color{}; -    u8 beard_type{}; -    u8 mustache_type{}; -    u8 mustache_scale{}; -    u8 mustache_y{}; -    u8 glasses_type{}; -    u8 glasses_color{}; -    u8 glasses_scale{}; -    u8 glasses_y{}; -    u8 mole_type{}; -    u8 mole_scale{}; -    u8 mole_x{}; -    u8 mole_y{}; -    INSERT_PADDING_BYTES(1); +    Common::UUID uuid; +    std::array<char16_t, 11> name; +    u8 font_region; +    u8 favorite_color; +    u8 gender; +    u8 height; +    u8 build; +    u8 type; +    u8 region_move; +    u8 faceline_type; +    u8 faceline_color; +    u8 faceline_wrinkle; +    u8 faceline_make; +    u8 hair_type; +    u8 hair_color; +    u8 hair_flip; +    u8 eye_type; +    u8 eye_color; +    u8 eye_scale; +    u8 eye_aspect; +    u8 eye_rotate; +    u8 eye_x; +    u8 eye_y; +    u8 eyebrow_type; +    u8 eyebrow_color; +    u8 eyebrow_scale; +    u8 eyebrow_aspect; +    u8 eyebrow_rotate; +    u8 eyebrow_x; +    u8 eyebrow_y; +    u8 nose_type; +    u8 nose_scale; +    u8 nose_y; +    u8 mouth_type; +    u8 mouth_color; +    u8 mouth_scale; +    u8 mouth_aspect; +    u8 mouth_y; +    u8 beard_color; +    u8 beard_type; +    u8 mustache_type; +    u8 mustache_scale; +    u8 mustache_y; +    u8 glasses_type; +    u8 glasses_color; +    u8 glasses_scale; +    u8 glasses_y; +    u8 mole_type; +    u8 mole_scale; +    u8 mole_x; +    u8 mole_y; +    u8 padding;      std::u16string Name() const;  }; @@ -324,7 +324,7 @@ public:      ResultCode GetIndex(const MiiInfo& info, u32& index);  private: -    const Common::UUID user_id; +    const Common::UUID user_id{Common::INVALID_UUID};      u64 update_counter{};  }; diff --git a/src/core/hle/service/time/clock_types.h b/src/core/hle/service/time/clock_types.h index 72e1921ec..b78892223 100644 --- a/src/core/hle/service/time/clock_types.h +++ b/src/core/hle/service/time/clock_types.h @@ -73,19 +73,19 @@ struct TimeSpanType {  static_assert(sizeof(TimeSpanType) == 8, "TimeSpanType is incorrect size");  struct ClockSnapshot { -    SystemClockContext user_context{}; -    SystemClockContext network_context{}; -    s64 user_time{}; -    s64 network_time{}; -    TimeZone::CalendarTime user_calendar_time{}; -    TimeZone::CalendarTime network_calendar_time{}; -    TimeZone::CalendarAdditionalInfo user_calendar_additional_time{}; -    TimeZone::CalendarAdditionalInfo network_calendar_additional_time{}; -    SteadyClockTimePoint steady_clock_time_point{}; -    TimeZone::LocationName location_name{}; -    u8 is_automatic_correction_enabled{}; -    u8 type{}; -    INSERT_PADDING_BYTES(0x2); +    SystemClockContext user_context; +    SystemClockContext network_context; +    s64 user_time; +    s64 network_time; +    TimeZone::CalendarTime user_calendar_time; +    TimeZone::CalendarTime network_calendar_time; +    TimeZone::CalendarAdditionalInfo user_calendar_additional_time; +    TimeZone::CalendarAdditionalInfo network_calendar_additional_time; +    SteadyClockTimePoint steady_clock_time_point; +    TimeZone::LocationName location_name; +    u8 is_automatic_correction_enabled; +    u8 type; +    INSERT_PADDING_BYTES_NOINIT(0x2);      static ResultCode GetCurrentTime(s64& current_time,                                       const SteadyClockTimePoint& steady_clock_time_point, diff --git a/src/core/hle/service/time/time_zone_types.h b/src/core/hle/service/time/time_zone_types.h index 9be15b53e..4a57e036d 100644 --- a/src/core/hle/service/time/time_zone_types.h +++ b/src/core/hle/service/time/time_zone_types.h @@ -45,23 +45,23 @@ static_assert(sizeof(TimeZoneRule) == 0x4000, "TimeZoneRule is incorrect size");  /// https://switchbrew.org/wiki/Glue_services#CalendarAdditionalInfo  struct CalendarAdditionalInfo { -    u32 day_of_week{}; -    u32 day_of_year{}; +    u32 day_of_week; +    u32 day_of_year;      std::array<char, 8> timezone_name; -    u32 is_dst{}; -    s32 gmt_offset{}; +    u32 is_dst; +    s32 gmt_offset;  };  static_assert(sizeof(CalendarAdditionalInfo) == 0x18, "CalendarAdditionalInfo is incorrect size");  /// https://switchbrew.org/wiki/Glue_services#CalendarTime  struct CalendarTime { -    s16 year{}; -    s8 month{}; -    s8 day{}; -    s8 hour{}; -    s8 minute{}; -    s8 second{}; -    INSERT_PADDING_BYTES(1); +    s16 year; +    s8 month; +    s8 day; +    s8 hour; +    s8 minute; +    s8 second; +    INSERT_PADDING_BYTES_NOINIT(1);  };  static_assert(sizeof(CalendarTime) == 0x8, "CalendarTime is incorrect size"); | 
